The code requires cc_generic_services = true in the service proto files. nng_msg payload is: request format : size:u32 + serialized MethodCall response format: size:u32 + serialized MethodCallResponse Dispatch is done using descriptors, message prototypes and protobuf.Any. Error handling is missing apart from error logging.
38 lines
849 B
Protocol Buffer
38 lines
849 B
Protocol Buffer
syntax = "proto3";
|
|
|
|
import "google/rpc/status.proto";
|
|
import "vme.proto";
|
|
|
|
option cc_generic_services = true;
|
|
|
|
package mesytec.mnode.proto.mvlc;
|
|
|
|
message ReadRegisterRequest
|
|
{
|
|
uint32 address = 1;
|
|
}
|
|
|
|
message WriteRegisterRequest
|
|
{
|
|
uint32 address = 1;
|
|
uint32 value = 2;
|
|
}
|
|
|
|
message WriteRegisterResponse
|
|
{
|
|
optional google.rpc.Status status = 1;
|
|
}
|
|
|
|
message ReadRegisterResponse
|
|
{
|
|
optional uint32 value = 1;
|
|
optional google.rpc.Status status = 2;
|
|
}
|
|
|
|
service MVLCService
|
|
{
|
|
rpc ReadRegister(ReadRegisterRequest) returns (ReadRegisterResponse);
|
|
rpc WriteRegister(WriteRegisterRequest) returns (WriteRegisterResponse);
|
|
rpc VMERead(mesytec.mnode.proto.vme.ReadRequest) returns (mesytec.mnode.proto.vme.ReadResponse);
|
|
rpc VMEWrite(mesytec.mnode.proto.vme.WriteRequest) returns (mesytec.mnode.proto.vme.WriteResponse);
|
|
}
|