13   if(configfile!=
"")  m_variables.Initialise(configfile);
 
   19   if(!m_variables.Get(
"verbose",m_verbose)) m_verbose=1;
 
   22   if(!m_variables.Get(
"Threads",threadcount)) threadcount=4;
 
   26   ManagerSend=
new zmq::socket_t(*m_data->context,ZMQ_PUSH);
 
   27   ManagerSend->bind(
"inproc://MyToolZMQMultiThreadSend");
 
   33   items[0].events=ZMQ_POLLOUT;
 
   37   items[1].events=ZMQ_POLLIN;
 
   40   for(
int i=0;i<threadcount;i++){
 
   42     args.push_back(tmparg);
 
   43     std::stringstream tmp;
 
   58   zmq::poll(&
items[0], 2, 0);
 
   60   if ((
items[1].revents & ZMQ_POLLIN)){
 
   62     zmq::message_t message;
 
   64     std::istringstream iss(static_cast<char*>(message.data()));
 
   65     std::cout<<
"reply = "<<iss.str()<<std::endl;
 
   70   if ((
items[0].revents & ZMQ_POLLOUT)){
 
   75       std::string greeting=
"HI";
 
   76       zmq::message_t message(greeting.length()+1);
 
   77       snprintf ((
char *) message.data(), greeting.length()+1 , 
"%s" , greeting.c_str()) ;
 
   80       std::cout<<
"sending Hi"<<std::endl;
 
  113   zmq::socket_t ThreadReceive(*args->
context,ZMQ_PULL);
 
  114   ThreadReceive.connect(
"inproc://MyToolZMQMultiThreadSend");
 
  115   zmq::socket_t ThreadSend(*args->
context,ZMQ_PUSH);
 
  116   ThreadSend.connect(
"inproc://MyToolZMQMultiThreadReceive");
 
  118   zmq::pollitem_t initems[1] = {{ThreadReceive,0,ZMQ_POLLIN,0}};
 
  119   zmq::pollitem_t outitems[1] = {{ThreadSend,0,ZMQ_POLLOUT,0}};
 
  121   zmq::poll(&initems[0], 1, 100);
 
  123   if ((initems[0].revents & ZMQ_POLLIN)){
 
  125     zmq::message_t message;
 
  126     ThreadReceive.recv(&message);
 
  127     std::istringstream iss(static_cast<char*>(message.data()));
 
  131     zmq::poll(&outitems[0], 1, 10000);
 
  132     if ((outitems[0].revents & ZMQ_POLLOUT)){
 
  134       std::string greeting=
"hello";
 
  135       zmq::message_t message(greeting.length()+1);
 
  136       snprintf ((
char *) message.data(), greeting.length()+1 , 
"%s" , greeting.c_str()) ;
 
  137       ThreadSend.send(message);
 
Logging * Log
Log class pointer for use in Tools, it can be used to send messages which can have multiple error lev...
 
Thread_args * CreateThread(std::string ThreadName, void(*func)(std::string))
 
zmq::context_t * context
ZMQ context used for ZMQ socket creation. 
 
bool KillThread(Thread_args *&args)
Kill a thread assosiated to args.