Unverified Commit 0e0282d7 authored by kladko's avatar kladko

bug/SKALE-3662 Adding libzmq

parent 85f2c2e4
......@@ -95,12 +95,9 @@ void ServerWorker::work() {
CHECK_STATE(replyStr.back() == '}');
zmq::message_t replyMsg(replyStr.c_str(), replyStr.size() + 1);
cerr << "sending!!!";
worker_.send(copied_id, ZMQ_SNDMORE);
worker_.send(replyMsg);
cerr << "sent!!!";
} catch (std::exception &e) {
spdlog::error("Exception in zmq server worker send :{}", e.what());
} catch (...) {
......
......@@ -39,9 +39,34 @@ shared_ptr <ZMQMessage> ZMQClient::doRequestReply(Json::Value &_req) {
CHECK_STATE(reqStr.front() == '{');
CHECK_STATE(reqStr.at(reqStr.size() - 1) == '}');
auto resultStr = doZmqRequestReply(reqStr);
return ZMQMessage::parse(resultStr.c_str(), resultStr.size(), false);
CHECK_STATE(resultStr.size() > 5)
CHECK_STATE(resultStr.front() == '{')
CHECK_STATE(resultStr.back() == '}')
cerr << resultStr;
try {
return ZMQMessage::parse(resultStr.c_str(), resultStr.size(), false);
} catch (std::exception & e) {
cerr << "Error:" << e.what() << endl;
sleep(10);
throw;
} catch (...) {
cerr << "Error!" << endl;
sleep(10);
}
}
......@@ -53,7 +78,7 @@ string ZMQClient::doZmqRequestReply(string &_req) {
reconnect();
CHECK_STATE(clientSocket);
cerr << "Sending:" << _req;
cerr << "ZMQ client sending:" << _req;
s_send(*clientSocket, _req);
......@@ -65,8 +90,7 @@ string ZMQClient::doZmqRequestReply(string &_req) {
// If we got a reply, process it
if (items[0].revents & ZMQ_POLLIN) {
string reply = s_recv(*clientSocket);
cerr << "Received!" + reply;
cerr << "ZMQ client received received reply:" << reply << endl;
return reply;
} else {
spdlog::error("W: no response from server, retrying...");
......
......@@ -51,8 +51,6 @@ string ZMQMessage::getStringRapid(const char *_name) {
shared_ptr <ZMQMessage> ZMQMessage::parse(const char* _msg,
size_t _size, bool _isRequest) {
CHECK_STATE(_msg);
CHECK_STATE(_size > 5);
// CHECK NULL TERMINATED
......@@ -60,11 +58,8 @@ shared_ptr <ZMQMessage> ZMQMessage::parse(const char* _msg,
CHECK_STATE(_msg[_size - 1] == '}');
CHECK_STATE(_msg[0] == '{');
cerr << "parsing" << endl;
cerr << _msg << endl;
cerr << "parsing" << endl ;
auto d = make_shared<rapidjson::Document>();
d->Parse(_msg);
......@@ -78,6 +73,8 @@ shared_ptr <ZMQMessage> ZMQMessage::parse(const char* _msg,
shared_ptr <ZMQMessage> result;
if (_isRequest) {
return buildRequest(type, d);
} else {
......
......@@ -1152,9 +1152,8 @@ TEST_CASE_METHOD(TestFixtureNoReset, "ZMQ-ecdsa", "[zmq-ecdsa-run]") {
PRINT_SRC_LINE
auto sig = client.ecdsaSignMessageHash(16, keyName, SAMPLE_HASH);
REQUIRE(sig.size() > 10);
} catch (exception &e) {
cerr << e.what() << endl;
throw;
} catch (...) {
sleep(1000);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment