syntax = "proto2";

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 {
  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 {
  rpc AddNumbers (.CTransportValidationClient_AddNumbers_Request) returns (.CTransportValidationClient_AddNumbers_Response);
}

