syntax = "proto3";

package natsrpc;
option go_package = "github.com/byebyebruce/natsrpc;natsrpc";

import "google/protobuf/descriptor.proto";

extend google.protobuf.ServiceOptions {
  bool serviceAsync = 43230; // service异步handler
  bool clientAsync = 43231; // client异步请求
}

extend google.protobuf.MethodOptions {
  bool publish = 2360; // false表示request(需要返回值)，true表示广播(不需要返回值)
}

// Empty 空值
message Empty {}

// Request 请求
message Request {
  bytes payload = 1; // 包体
  map<string, string> header = 2; // 包头
}

// Reply 返回
message Reply {
  bytes payload = 1; // 包体
  string error = 2; // 错误
}

