113 lines
3.6 KiB
Protocol Buffer
113 lines
3.6 KiB
Protocol Buffer
// 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.
|
|
|
|
syntax="proto2";
|
|
import "google/protobuf/descriptor.proto";
|
|
|
|
package brpc;
|
|
option java_package="com.brpc";
|
|
option java_outer_classname="Options";
|
|
|
|
enum TalkType {
|
|
TALK_TYPE_NORMAL = 0;
|
|
TALK_TYPE_ONEWAY = 1;
|
|
}
|
|
|
|
enum ConnectionType {
|
|
// bit-exclusive values since we may OR them to represent supported types.
|
|
CONNECTION_TYPE_UNKNOWN = 0;
|
|
CONNECTION_TYPE_SINGLE = 1;
|
|
CONNECTION_TYPE_POOLED = 2;
|
|
CONNECTION_TYPE_SHORT = 4;
|
|
}
|
|
|
|
enum ProtocolType {
|
|
PROTOCOL_UNKNOWN = 0;
|
|
PROTOCOL_BAIDU_STD = 1;
|
|
PROTOCOL_STREAMING_RPC = 2;
|
|
PROTOCOL_HULU_PBRPC = 3;
|
|
PROTOCOL_SOFA_PBRPC = 4;
|
|
PROTOCOL_RTMP = 5;
|
|
PROTOCOL_THRIFT = 6;
|
|
PROTOCOL_HTTP = 7;
|
|
PROTOCOL_PUBLIC_PBRPC = 8;
|
|
PROTOCOL_NOVA_PBRPC = 9;
|
|
PROTOCOL_REDIS = 10;
|
|
PROTOCOL_NSHEAD_CLIENT = 11; // implemented in baidu-rpc-ub
|
|
PROTOCOL_NSHEAD = 12;
|
|
PROTOCOL_HADOOP_RPC = 13;
|
|
PROTOCOL_HADOOP_SERVER_RPC = 14;
|
|
PROTOCOL_MONGO = 15; // server side only
|
|
PROTOCOL_UBRPC_COMPACK = 16;
|
|
PROTOCOL_DIDX_CLIENT = 17; // Client side only
|
|
PROTOCOL_MEMCACHE = 18; // Client side only
|
|
PROTOCOL_ITP = 19;
|
|
PROTOCOL_NSHEAD_MCPACK = 20;
|
|
PROTOCOL_DISP_IDL = 21; // Client side only
|
|
PROTOCOL_ERSDA_CLIENT = 22; // Client side only
|
|
PROTOCOL_UBRPC_MCPACK2 = 23; // Client side only
|
|
// Reserve special protocol for cds-agent, which depends on FIFO right now
|
|
PROTOCOL_CDS_AGENT = 24; // Client side only
|
|
PROTOCOL_ESP = 25; // Client side only
|
|
PROTOCOL_H2 = 26;
|
|
PROTOCOL_COUCHBASE = 27;
|
|
PROTOCOL_MYSQL = 28; // Client side only
|
|
}
|
|
|
|
enum CompressType {
|
|
COMPRESS_TYPE_NONE = 0;
|
|
COMPRESS_TYPE_SNAPPY = 1;
|
|
COMPRESS_TYPE_GZIP = 2;
|
|
COMPRESS_TYPE_ZLIB = 3;
|
|
COMPRESS_TYPE_LZ4 = 4;
|
|
}
|
|
|
|
enum ChecksumType {
|
|
CHECKSUM_TYPE_NONE = 0;
|
|
CHECKSUM_TYPE_CRC32C = 1;
|
|
}
|
|
|
|
enum ContentType {
|
|
CONTENT_TYPE_PB = 0;
|
|
CONTENT_TYPE_JSON = 1;
|
|
CONTENT_TYPE_PROTO_JSON = 2;
|
|
CONTENT_TYPE_PROTO_TEXT = 3;
|
|
}
|
|
|
|
message ChunkInfo {
|
|
required int64 stream_id = 1;
|
|
required int64 chunk_id = 2;
|
|
}
|
|
|
|
extend google.protobuf.ServiceOptions {
|
|
// Timeout in milliseconds, at service level.
|
|
optional int64 service_timeout = 90000 [default = 10000];
|
|
}
|
|
|
|
extend google.protobuf.MethodOptions {
|
|
// Talk type.
|
|
optional TalkType request_talk_type = 90001 [default = TALK_TYPE_NORMAL];
|
|
optional TalkType response_talk_type = 90002 [default = TALK_TYPE_NORMAL];
|
|
|
|
// If set, override service_timeout.
|
|
optional int64 method_timeout = 90003;
|
|
|
|
// Compression for request/response.
|
|
optional CompressType request_compression = 90004 [default = COMPRESS_TYPE_NONE];
|
|
optional CompressType response_compression = 90005 [default = COMPRESS_TYPE_NONE];
|
|
}
|