Joel Grunbaum
2022-01-19 0b7aa02704f6ece97d17fbb118519c5cc62caaba
protocol.cpp
@@ -22,6 +22,7 @@
   mapAnnounce;
std::string server = std::string(HOST) + ":" + std::string(PORT);
httplib::Client cli("http://" + server);
std::unique_ptr<easywsclient::WebSocket> ws;
double lastime = 0;
@@ -57,12 +58,22 @@
   return bs;
}
void catchUp(std::unordered_map<std::string, book::Book>& bs)
void createWebSocket()
{
   static std::unique_ptr<easywsclient::WebSocket> ws(
      easywsclient::WebSocket::from_url("ws://" + server + "/information"));
   ws = std::unique_ptr<easywsclient::WebSocket>(
      easywsclient::WebSocket::pointer(easywsclient::WebSocket::from_url(
         "ws://" + server + "/information")));
   ws->poll();
}
std::deque<json::Message*>
catchUp(std::unordered_map<std::string, book::Book>& bs)
{
   std::string feed;
   bool gotMessage = false;
   bool gotMessage;
   std::deque<json::Message*> out;
   do {
      gotMessage = false;
   ws->poll();
   ws->dispatch([gotMessageOut = &gotMessage, messageOut = &feed,
                 ws = ws.get()](const std::string& message) {
@@ -79,10 +90,12 @@
               static_cast<json::FromExchange*>(a.front())->timestamp;
         }
         protocol::handleMessage(bs, a.front());
         delete a.front();
            out.push_back(a.front());
         a.pop();
      }
   }
   } while (gotMessage);
   return out;
}
json::Message* addOrder(json::AddMessage& order)