Scripting: reimplement protocol over plan UDP using boost::asio

This commit is contained in:
Weiyi Wang 2019-01-29 17:28:50 -05:00
parent bad2e084e3
commit d765a73a53
9 changed files with 152 additions and 134 deletions

View file

@ -1,27 +1,30 @@
#include <functional>
#include "core/core.h"
#include "core/rpc/packet.h"
#include "core/rpc/rpc_server.h"
#include "core/rpc/server.h"
#include "core/rpc/udp_server.h"
namespace RPC {
Server::Server(RPCServer& rpc_server) : rpc_server(rpc_server) {}
Server::~Server() = default;
void Server::Start() {
const auto callback = [this](std::unique_ptr<RPC::Packet> new_request) {
const auto callback = [this](std::unique_ptr<Packet> new_request) {
NewRequestCallback(std::move(new_request));
};
try {
zmq_server = std::make_unique<ZMQServer>(callback);
udp_server = std::make_unique<UDPServer>(callback);
} catch (...) {
LOG_ERROR(RPC_Server, "Error starting ZeroMQ server");
LOG_ERROR(RPC_Server, "Error starting UDP server");
}
}
void Server::Stop() {
zmq_server.reset();
udp_server.reset();
}
void Server::NewRequestCallback(std::unique_ptr<RPC::Packet> new_request) {