5 #include "AliNetMessage.h"
7 #include "AliThreadedSocket.h"
9 ClassImp(AliThreadedSocket)
10 AliThreadedSocket::AliThreadedSocket(zmq::context_t *context, EOpenMode mode)
19 AliThreadedSocket::~AliThreadedSocket()
24 Bool_t AliThreadedSocket::Start()
28 fThread = new TThread("AliThreadedSocket", (void(*) (void *) ) &RunThrdRead, (void*) this );
30 fThread = new TThread("AliThreadedSocket", (void(*) (void *) ) &RunThrdWrite,(void*) this );
32 if(fThread->Run()==0){
41 Bool_t AliThreadedSocket::Stop()
47 Bool_t AliThreadedSocket::Kill()
50 if(fThread->Kill()!=0) return kFALSE;
59 void AliThreadedSocket::Continue()
64 zmq::context_t* AliThreadedSocket::GetContext() const
69 TThread* AliThreadedSocket::GetThread() const
74 void AliThreadedSocket::Started()
79 void AliThreadedSocket::Stopped()
84 void* AliThreadedSocket::RunThrdRead(void* arg)
86 AliNetMessage* mess=0;
87 AliThreadedSocket* thsock = (AliThreadedSocket*)arg;
88 zmq::context_t* context = thsock->GetContext();
90 AliSocket sock(context, ZMQ_SUB);
100 void* AliThreadedSocket::RunThrdWrite(void* arg)
102 AliNetMessage* mess=0;
103 AliThreadedSocket* thsock = (AliThreadedSocket*)arg;
104 zmq::context_t* context = thsock->GetContext();
106 AliSocket sock(context, ZMQ_PUB);
113 thsock->Emit("Stopped()");