syntax = "proto2";

option go_package = "/openapi";
option java_generate_equals_and_hash = true;
option java_multiple_files = true;
option java_outer_classname = "ContainerCommonModelMessages";
option java_package = "com.xtrader.protocol.proto.commons.model";

// --- INTENSIVE COMMANDS 1 - 49
// --- COMMON API 50 - 69
enum ProtoPayloadType {
  // common intensive
  PROTO_MESSAGE = 5;
  // common commands
  ERROR_RES = 50;
  HEARTBEAT_EVENT = 51;
}

// COMMON error codes 1 - 99
enum ProtoErrorCode {
  UNKNOWN_ERROR = 1; // Generic error.
  UNSUPPORTED_MESSAGE = 2; // Message is not supported. Wrong message.
  INVALID_REQUEST = 3; // Generic error.  Usually used when input value is not correct.
  TIMEOUT_ERROR = 5; // Deal execution is reached timeout and rejected.
  ENTITY_NOT_FOUND = 6; // Generic error for requests by id.
  CANT_ROUTE_REQUEST = 7; // Connection to Server is lost or not supported.
  FRAME_TOO_LONG = 8; // Message is too large.
  MARKET_CLOSED = 9; // Market is closed.
  CONCURRENT_MODIFICATION = 10; // Order is blocked (e.g. under execution) and change cannot be applied.
  BLOCKED_PAYLOAD_TYPE = 11; // Message is blocked by server or rate limit is reached.
}
