/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * These are the messages used by Hadoop RPC to marshal the * request and response in the RPC layer. */ option java_package = "org.apache.hadoop.ipc.protobuf"; option java_outer_classname = "HadoopRpcProtos"; option java_generate_equals_and_hash = true; /** * Message used to marshal the client request * from RPC client to the RPC server. */ message HadoopRpcRequestProto { /** Name of the RPC method */ required string methodName = 1; /** Bytes corresponding to the client protobuf request */ optional bytes request = 2; /** protocol name of class declaring the called method */ required string declaringClassProtocolName = 3; /** protocol version of class declaring the called method */ required uint64 clientProtocolVersion = 4; } /** * At the RPC layer, this message is used to indicate * the server side exception the the RPC client. * * Hadoop RPC client throws an exception indicated * by exceptionName with the stackTrace. */ message HadoopRpcExceptionProto { /** Class name of the exception thrown from the server */ optional string exceptionName = 1; /** Exception stack trace from the server side */ optional string stackTrace = 2; } /** * This message is used to marshal the response from * RPC server to the client. */ message HadoopRpcResponseProto { /** Status of IPC call */ enum ResponseStatus { SUCCESS = 1; ERRROR = 2; } required ResponseStatus status = 1; // Protobuf response payload from the server, when status is SUCCESS. optional bytes response = 2; // Exception when status is ERROR or FATAL optional HadoopRpcExceptionProto exception = 3; }