import "common.proto";
import "common_base.proto";

message CTransportValidation_AddNumbers_Request {
	repeated int32 numbers = 1;
}

message CTransportValidation_AddNumbers_Response {
	optional int32 accumulated = 1;
}

message CTransportValidation_CountOrderedBytes_Request {
	optional bytes ordered_bytes = 1;
}

message CTransportValidation_CountOrderedBytes_Response {
	optional int32 byte_count = 1;
}

message CTransportValidation_GetLastNotifyNumber_Request {
}

message CTransportValidation_GetLastNotifyNumber_Response {
	optional int32 last_notify_number = 1;
}

message CTransportValidation_NotifyNumber_Notification {
	optional int32 number = 1;
}

message CTransportValidation_NotifySyntheticEvent_Notification {
	optional int32 sequence = 1;
}

message CTransportValidation_NotifyText_Notification {
	optional string text = 1;
}

message CTransportValidation_TriggerSyntheticEvents_Request {
	optional int32 count = 1;
}

message CTransportValidation_TriggerSyntheticEvents_Response {
}

message CTransportValidationClient_AddNumbers_Request {
	repeated int32 numbers = 1;
}

message CTransportValidationClient_AddNumbers_Response {
	optional int32 accumulated = 1;
}

service TransportValidation {
	rpc AddNumbers (.CTransportValidation_AddNumbers_Request) returns (.CTransportValidation_AddNumbers_Response);
	rpc AddNumbersStatic (.CTransportValidation_AddNumbers_Request) returns (.CTransportValidation_AddNumbers_Response);
	rpc AppendToString (.CTransportValidation_AppendToString_Request) returns (.CTransportValidation_AppendToString_Response);
	rpc CountOrderedBytes (.CTransportValidation_CountOrderedBytes_Request) returns (.CTransportValidation_CountOrderedBytes_Response);
	rpc GetLastNotifyNumber (.CTransportValidation_GetLastNotifyNumber_Request) returns (.CTransportValidation_GetLastNotifyNumber_Response);
	rpc NotifyNumber (.CTransportValidation_NotifyNumber_Notification) returns (.NoResponse);
	rpc NotifySyntheticEvent (.CTransportValidation_NotifySyntheticEvent_Notification) returns (.NoResponse);
	rpc NotifyText (.CTransportValidation_NotifyText_Notification) returns (.NoResponse);
	rpc TriggerSyntheticEvents (.CTransportValidation_TriggerSyntheticEvents_Request) returns (.CTransportValidation_TriggerSyntheticEvents_Response);
}

service TransportValidationClient {
	rpc AddNumbers (.CTransportValidationClient_AddNumbers_Request) returns (.CTransportValidationClient_AddNumbers_Response);
}

