Joel Grunbaum
2022-01-12 ae7d00edf2f02912ec9c04919ea7535c93d2d1e0
json.hpp
@@ -25,10 +25,11 @@
   BROKER_REQUEST,
   BROKER_ACK,
   BROKER_CONFIRM,
   ERROR,
   NONE
};
enum TradeTypeEnum { BUY_AGGRESSOR, SELL_AGGRESSOR };
enum TradeTypeEnum { BUY_AGGRESSOR, SELL_AGGRESSOR, BROKER_TRADE };
struct Message {
   MessageTypes type;
@@ -36,6 +37,12 @@
   Message(MessageTypes type, std::string product);
   Message();
   virtual ~Message() = default;
};
struct ErrorMessage : public Message {
   std::string message;
   ErrorMessage(std::string message);
   std::string as_string();
};
struct FromExchange : public Message {
@@ -104,6 +111,7 @@
   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);
   std::string as_string();
};
struct DeleteMessage : public ToExchange {
@@ -118,12 +126,14 @@
   DeletedMessage(MessageTypes type, std::string product, std::string id,
                  book::OrderSideEnum side, uint64_t sequence,
                  double timestamp);
   std::string as_string();
};
struct RejectMessage : public FromExchange {
   std::string error;
   RejectMessage(MessageTypes type, std::string product, std::string error,
                 uint64_t sequence, double timestamp);
   std::string as_string();
};
struct TradeMessage : public FromExchange {