syntax = "proto3"; //The .proto file version is defined as v3 package mring; //The package name service Mesh { //The service name rpc Broadcast(stream MeshData) returns(stream MeshData) {}; rpc Unicast(stream MeshData) returns(stream MeshData) {}; } message MeshData { oneof Message { NodeInfo NodeInfo = 1; } } message NodeInfo { int64 NodeID = 1; string NodeName = 2; int64 StartTime = 3; repeated string Address = 4; repeated string DC = 5; repeated string Group = 6; repeated string Service = 7; repeated int64 PeerIDs = 8; }