import "steammessages_base.proto";
import "webuimessages_base.proto";

option optimize_for = SPEED;
option cc_generic_services = true;

message CTransportValidation_AppendToString_Request {
	repeated string append_strings = 1;
}

message CTransportValidation_AppendToString_Response {
	optional string combined_text = 1;
}

message CTransportValidation_NotifyText_Notification {
	optional string text = 1;
}

message CTransportValidation_NotifyNumber_Notification {
	optional int32 number = 1;
}

message CTransportValidation_GetLastNotifyNumber_Request {
}

message CTransportValidation_GetLastNotifyNumber_Response {
	optional int32 last_notify_number = 1;
}

message CTransportValidation_TriggerSyntheticEvents_Request {
	optional int32 count = 1;
}

message CTransportValidation_TriggerSyntheticEvents_Response {
}

message CTransportValidation_NotifySyntheticEvent_Notification {
	optional int32 sequence = 1;
}

message CTransportValidation_TriggerDataRequest_Request {
}

message CTransportValidation_TriggerDataRequest_Response {
	optional int32 data = 1;
}

message CTransportValidation_DataRequest_Request {
}

message CTransportValidation_DataRequest_Response {
	optional int32 data = 1;
}

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_ThreadedCount_Request {
	optional int32 start_num = 1;
	optional int32 end_num = 2;
}

message CTransportValidation_ThreadedCount_Response {
}

message CTransportValidation_NotifyCount_Notification {
	optional int32 num = 1;
}

message CTransportValidation_RequestInvalidBool_Request {
}

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

message CTransportValidation_GetLargeResponse_Request {
	optional uint32 data_size = 1;
}

message CTransportValidation_GetLargeResponse_Response {
	optional bytes data = 1;
}

message CTransportValidation_RequestLargeNotification_Request {
	optional uint32 data_size = 1;
}

message CTransportValidation_RequestLargeNotification_Response {
}

message CTransportValidation_NotifyLarge_Notification {
	optional bytes data = 1;
}

message CTransportValidationClient_AddNumbers_Request {
	repeated int32 numbers = 1;
}

message CTransportValidationClient_AddNumbers_Response {
	optional int32 accumulated = 1;
}

service TransportValidation {
	option (webui_service_execution_site) = k_EClientExecutionSiteSteamUI;

	rpc AppendToString (.CTransportValidation_AppendToString_Request) returns (.CTransportValidation_AppendToString_Response);
	rpc AddNumbers (.CTransportValidation_AddNumbers_Request) returns (.CTransportValidation_AddNumbers_Response);
	rpc AddNumbersStatic (.CTransportValidation_AddNumbers_Request) returns (.CTransportValidation_AddNumbers_Response);
	rpc NotifyText (.CTransportValidation_NotifyText_Notification) returns (.WebUINoResponse);
	rpc NotifyNumber (.CTransportValidation_NotifyNumber_Notification) returns (.WebUINoResponse);
	rpc GetLastNotifyNumber (.CTransportValidation_GetLastNotifyNumber_Request) returns (.CTransportValidation_GetLastNotifyNumber_Response);
	rpc NotifySyntheticEvent (.CTransportValidation_NotifySyntheticEvent_Notification) returns (.WebUINoResponse);
	rpc TriggerSyntheticEvents (.CTransportValidation_TriggerSyntheticEvents_Request) returns (.CTransportValidation_TriggerSyntheticEvents_Response);
	rpc CountOrderedBytes (.CTransportValidation_CountOrderedBytes_Request) returns (.CTransportValidation_CountOrderedBytes_Response);
	rpc ThreadedCount (.CTransportValidation_ThreadedCount_Request) returns (.CTransportValidation_ThreadedCount_Response);
	rpc NotifyCount (.CTransportValidation_NotifyCount_Notification) returns (.WebUINoResponse);
	rpc RequestInvalidBool (.CTransportValidation_RequestInvalidBool_Request) returns (.CTransportValidation_RequestInvalidBool_Response);
	rpc GetLargeResponse (.CTransportValidation_GetLargeResponse_Request) returns (.CTransportValidation_GetLargeResponse_Response);
	rpc RequestLargeNotification (.CTransportValidation_RequestLargeNotification_Request) returns (.CTransportValidation_RequestLargeNotification_Response);
	rpc NotifyLarge (.CTransportValidation_NotifyLarge_Notification) returns (.WebUINoResponse);
}

service TransportValidationClient {
	option (webui_service_execution_site) = k_EClientExecutionSiteClientdll;

	rpc AddNumbers (.CTransportValidationClient_AddNumbers_Request) returns (.CTransportValidationClient_AddNumbers_Response);
}
