FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
request_id.hpp File Reference

Request ids shared by the JSON order-entry encoders: "\<kind\>\<cl_ord_id\>" with kind n/c/r/a (1 + 14 chars), so a WebSocket API response maps back to the command with no lookup table. More...

#include "fastmm/core/fixed_string.hpp"
#include "fastmm/core/strong_id.hpp"
#include <optional>
#include <string_view>
#include <utility>

Go to the source code of this file.

Namespaces

namespace  fastmm
 
namespace  fastmm::venues
 

Typedefs

using fastmm::venues::RequestId = FixedString< 16 >
 

Enumerations

enum class  fastmm::venues::RequestKind : char {
  fastmm::venues::New = 'n' , fastmm::venues::Cancel = 'c' , fastmm::venues::Replace = 'r' , fastmm::venues::Amend = 'a' ,
  fastmm::venues::Other = 'x'
}
 Amend: a replace the venue applies to the resting order (Binance Spot keepPriority); its response has a different shape from a cancel-replace, so it needs its own kind. More...
 

Functions

RequestId fastmm::venues::make_request_id (RequestKind kind, ClientOrderId id) noexcept
 
std::optional< std::pair< RequestKind, ClientOrderId > > fastmm::venues::parse_request_id (std::string_view id) noexcept
 Returns the kind and id encoded by make_request_id, or nullopt for foreign ids.
 

Detailed Description

Request ids shared by the JSON order-entry encoders: "\<kind\>\<cl_ord_id\>" with kind n/c/r/a (1 + 14 chars), so a WebSocket API response maps back to the command with no lookup table.

Binance allows a 36-char string id, Bybit a 36-char reqId.