mesytec-mnode/proto/mvlc.proto
Florian Lüke bf03a19820 add prototype nng reqrep based blocking protobuf rpc server and client
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.
2024-12-08 21:01:54 +01:00

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);
}