Include device ID in the zeromq socket identity.

For request sockets in ZeroMQ the socket identity must be unique, otherwise multiple clients will be rejected.
Update the tests to test this use case.
This commit is contained in:
Alexey Rybalchenko
2016-03-03 11:23:47 +01:00
parent e1fef82657
commit c42b6ca4ae
16 changed files with 38 additions and 27 deletions

View File

@@ -23,12 +23,22 @@ FairMQTestRep::FairMQTestRep()
void FairMQTestRep::Run()
{
std::unique_ptr<FairMQMessage> request(NewMessage());
if (Receive(request, "data") >= 0)
std::unique_ptr<FairMQMessage> request1(NewMessage());
if (Receive(request1, "data") >= 0)
{
LOG(INFO) << "Received request 1";
std::unique_ptr<FairMQMessage> reply(NewMessage());
Send(reply, "data");
}
std::unique_ptr<FairMQMessage> request2(NewMessage());
if (Receive(request2, "data") >= 0)
{
LOG(INFO) << "Received request 2";
std::unique_ptr<FairMQMessage> reply(NewMessage());
Send(reply, "data");
}
LOG(INFO) << "REQ-REP test successfull";
}
FairMQTestRep::~FairMQTestRep()

View File

@@ -29,7 +29,7 @@ void FairMQTestReq::Run()
std::unique_ptr<FairMQMessage> reply(NewMessage());
if (Receive(reply, "data") >= 0)
{
LOG(INFO) << "REQ-REP test successfull";
LOG(INFO) << "received reply";
}
}

View File

@@ -25,7 +25,7 @@ int main(int argc, char** argv)
testRep.SetProperty(FairMQTestRep::Id, "testRep");
FairMQChannel repChannel("rep", "connect", "tcp://127.0.0.1:5558");
FairMQChannel repChannel("rep", "bind", "tcp://127.0.0.1:5558");
testRep.fChannels["data"].push_back(repChannel);
testRep.ChangeState("INIT_DEVICE");

View File

@@ -23,9 +23,9 @@ int main(int argc, char** argv)
testReq.CatchSignals();
testReq.SetTransport("zeromq");
testReq.SetProperty(FairMQTestReq::Id, "testReq");
testReq.SetProperty(FairMQTestReq::Id, "testReq" + std::to_string(getpid()));
FairMQChannel reqChannel("req", "bind", "tcp://127.0.0.1:5558");
FairMQChannel reqChannel("req", "connect", "tcp://127.0.0.1:5558");
testReq.fChannels["data"].push_back(reqChannel);
testReq.ChangeState("INIT_DEVICE");

View File

@@ -1,9 +1,12 @@
#!/bin/bash
trap 'kill -TERM $REQ_PID; kill -TERM $REP_PID; wait $REQ_PID; wait $REP_PID;' TERM
trap 'kill -TERM $REQ1_PID; kill -TERM $REQ2_PID; kill -TERM $REP_PID; wait $REQ1_PID; wait $REQ2_PID; wait $REP_PID;' TERM
@CMAKE_BINARY_DIR@/bin/test-fairmq-req &
REQ_PID=$!
REQ1_PID=$!
@CMAKE_BINARY_DIR@/bin/test-fairmq-req &
REQ2_PID=$!
@CMAKE_BINARY_DIR@/bin/test-fairmq-rep &
REP_PID=$!
wait $REQ_PID
wait $REQ1_PID
wait $REQ2_PID
wait $REP_PID