Joel Grunbaum
2022-01-19 0b7aa02704f6ece97d17fbb118519c5cc62caaba
json.hpp
@@ -29,7 +29,7 @@
   NONE
};
enum TradeTypeEnum { BUY_AGGRESSOR, SELL_AGGRESSOR };
enum TradeTypeEnum { BUY_AGGRESSOR, SELL_AGGRESSOR, BROKER_TRADE };
struct Message {
   MessageTypes type;
@@ -82,6 +82,7 @@
                   std::chrono::nanoseconds expiry, double aggFee,
                   double pasFee, double broFee, uint64_t sequence,
                   double timestamp);
    std::string as_string();
};
struct SettleMessage : public FromExchange {
@@ -91,6 +92,7 @@
   SettleMessage(MessageTypes type, std::string product,
                 std::string stationName, std::chrono::nanoseconds expiry,
                 double price, uint64_t sequence, double timestamp);
    std::string as_string();
};
struct AddMessage : public ToExchange {
@@ -108,9 +110,10 @@
   double price;
   uint64_t filled;
   uint64_t resting;
    std::string owner;
   AddedMessage(MessageTypes type, std::string product, std::string id,
                book::OrderSideEnum side, double price, uint64_t filled,
                uint64_t resting, uint64_t sequence, double timestamp);
                uint64_t resting, std::string owner, uint64_t sequence, double timestamp);
   std::string as_string();
};
@@ -149,12 +152,14 @@
                TradeTypeEnum tradeType, std::string passiveOrder,
                uint64_t passiveOrderRemaining, uint64_t sequence,
                double timestamp);
   std::string as_string();
};
struct BrokerRequest : public Broker {
   BrokerRequest(MessageTypes type, std::string product, double price,
                 book::OrderSideEnum side, uint64_t volume,
                 std::string counterparty);
   std::string as_string();
};
struct BrokerAck : public Broker {
@@ -165,6 +170,7 @@
             book::OrderSideEnum side, uint64_t volume,
             std::string counterparty, std::string id,
             std::string brokerTradeStatus, std::string owner);
   std::string as_string();
};
struct BrokerConfirm : public Broker {
@@ -172,6 +178,7 @@
   BrokerConfirm(MessageTypes type, std::string product, double price,
                 book::OrderSideEnum side, uint64_t volume,
                 std::string counterparty, std::string id);
   std::string as_string();
};
std::queue<Message*> parse(std::string& str);