// protoc -I echo/ echo/*.proto --go_out=plugins=grpc:echo

syntax = "proto3";

option go_package = "github.com/opencord/voltha-protos/go/afrouter";

package afrouter;

service Configuration {
    	rpc SetConnection (Conn) returns (Result) {}
	rpc SetAffinity(Affinity) returns (Result) {}
	rpc GetGoroutineCount(Empty) returns (Count) {}
}

message Result {
	bool success = 1;
	string error = 2;
	string info = 3;
}

message Empty {
}

message Count {
    uint32 count = 1;
}

message Conn {
	string server = 1;
	string pkg = 2;
	string svc = 3;
	string cluster = 4;
	string backend = 5;
	string connection = 6;
	string addr = 7;
	uint64 port = 8;
}

message Affinity {
	string router = 1;
	string route = 2;
	string cluster = 3;
	string backend = 4;
	string id = 5;
}
