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_GetLargeResponse_Request {
	optional uint32 data_size = 1;
}

message CTransportValidation_GetLargeResponse_Response {
	optional bytes data = 1;
}

message CTransportValidation_GetLastNotifyNumber_Request {
}

message CTransportValidation_GetLastNotifyNumber_Response {
	optional int32 last_notify_number = 1;
}

message CTransportValidation_NotifyCount_Notification {
	optional int32 num = 1;
}

message CTransportValidation_NotifyLarge_Notification {
	optional bytes data = 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_RequestInvalidBool_Request {
}

message CTransportValidation_RequestInvalidBool_Response {
	optional int32 before = 1;
	optional bool output = 2;
	optional int32 after = 3;
}

message CTransportValidation_RequestLargeNotification_Request {
	optional uint32 data_size = 1;
}

message CTransportValidation_RequestLargeNotification_Response {
}

message CTransportValidation_ThreadedCount_Request {
	optional int32 start_num = 1;
	optional int32 end_num = 2;
}

message CTransportValidation_ThreadedCount_Response {
}

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 {
	// ePrivilege=1, eClientExecutionSite=1
	rpc AddNumbers (.CTransportValidation_AddNumbers_Request) returns (.CTransportValidation_AddNumbers_Response);
	// ePrivilege=1, eClientExecutionSite=1
	rpc AddNumbersStatic (.CTransportValidation_AddNumbers_Request) returns (.CTransportValidation_AddNumbers_Response);
	// ePrivilege=1, eClientExecutionSite=1
	rpc AppendToString (.CTransportValidation_AppendToString_Request) returns (.CTransportValidation_AppendToString_Response);
	// ePrivilege=1, eClientExecutionSite=1
	rpc CountOrderedBytes (.CTransportValidation_CountOrderedBytes_Request) returns (.CTransportValidation_CountOrderedBytes_Response);
	// ePrivilege=1, eClientExecutionSite=1
	rpc GetLargeResponse (.CTransportValidation_GetLargeResponse_Request) returns (.CTransportValidation_GetLargeResponse_Response);
	// ePrivilege=1, eClientExecutionSite=1
	rpc GetLastNotifyNumber (.CTransportValidation_GetLastNotifyNumber_Request) returns (.CTransportValidation_GetLastNotifyNumber_Response);
	// ePrivilege=1, eClientExecutionSite=1
	rpc NotifyCount (.CTransportValidation_NotifyCount_Notification) returns (.NoResponse);
	// ePrivilege=1, eClientExecutionSite=1
	rpc NotifyLarge (.CTransportValidation_NotifyLarge_Notification) returns (.NoResponse);
	// ePrivilege=1, eClientExecutionSite=1
	rpc NotifyNumber (.CTransportValidation_NotifyNumber_Notification) returns (.NoResponse);
	// ePrivilege=1, eClientExecutionSite=1
	rpc NotifySyntheticEvent (.CTransportValidation_NotifySyntheticEvent_Notification) returns (.NoResponse);
	// ePrivilege=1, eClientExecutionSite=1
	rpc NotifyText (.CTransportValidation_NotifyText_Notification) returns (.NoResponse);
	// ePrivilege=1, eClientExecutionSite=1
	rpc RequestInvalidBool (.CTransportValidation_RequestInvalidBool_Request) returns (.CTransportValidation_RequestInvalidBool_Response);
	// ePrivilege=1, eClientExecutionSite=1
	rpc RequestLargeNotification (.CTransportValidation_RequestLargeNotification_Request) returns (.CTransportValidation_RequestLargeNotification_Response);
	// ePrivilege=1, eClientExecutionSite=1
	rpc ThreadedCount (.CTransportValidation_ThreadedCount_Request) returns (.CTransportValidation_ThreadedCount_Response);
	// ePrivilege=1, eClientExecutionSite=1
	rpc TriggerSyntheticEvents (.CTransportValidation_TriggerSyntheticEvents_Request) returns (.CTransportValidation_TriggerSyntheticEvents_Response);
}

service TransportValidationClient {
	// ePrivilege=1, eClientExecutionSite=2
	rpc AddNumbers (.CTransportValidationClient_AddNumbers_Request) returns (.CTransportValidationClient_AddNumbers_Response);
}

