| | |
| | | #include "book.hpp" |
| | | #include "json.hpp" |
| | | |
| | | #include <deque> |
| | | #include <string> |
| | | #include <unordered_map> |
| | | |
| | |
| | | { |
| | | 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, |
| | |
| | | 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 |