Joel Grunbaum
2022-01-20 441abf1e6a15a39f1ef7bf5e4ee2a4a43bff327b
protocol.hpp
@@ -3,6 +3,7 @@
#include "book.hpp"
#include "json.hpp"
#include <deque>
#include <string>
#include <unordered_map>
@@ -10,12 +11,15 @@
{
enum OrderEnum { ADD, DELETE, BROKER_REQUEST, BROKER_CONFIRM };
    // Catchup utilities
// Catchup utilities
std::unordered_map<std::string, book::Book> recoverBook();
void createWebSocket();
std::deque<json::Message*>
catchUp(std::unordered_map<std::string, book::Book>& bs);
    // Outgoing messages
    void addOrder(json::AddMessage& order);
    void deleteOrder(json::DeleteMessage& order);
// Outgoing messages
json::Message* addOrder(json::AddMessage& order);
json::Message* deleteOrder(json::DeleteMessage& order);
// Incoming messages
void handleMessage(std::unordered_map<std::string, book::Book>& bs,
@@ -25,13 +29,13 @@
void settle(std::unordered_map<std::string, book::Book>& bs,
            json::SettleMessage* message);
void addedOrder(std::unordered_map<std::string, book::Book>& bs,
              json::AddedMessage* message);
                json::AddedMessage* message);
void deletedOrder(std::unordered_map<std::string, book::Book>& bs,
                 json::DeletedMessage* message);
                  json::DeletedMessage* message);
void tradeOrder(std::unordered_map<std::string, book::Book>& bs,
                json::TradeMessage* message);
void broker(std::unordered_map<std::string, book::Book>& bs,
            json::Broker* message);
    void send(std::string& message);
json::Message* send(std::string& message);
} // namespace protocol