JiveXML::JiveXMLServer Node1 JiveXML::JiveXMLServer + JiveXMLServer() + ~JiveXMLServer() + UpdateEventForStream() + GetStreamNames() + GetEventStreamID() + GetEvent() + GetState() + Message() + LogLevel() * ATLAS_THREAD_SAFE * m_receivedSignal * portNumber * m_eventStreamMap * ATLAS_THREAD_SAFE * m_ServerThreadHandle * m_runServerThread * StartServingThread() * StopServingThread() * GetRunServerFlag() * ServerThreadStopped() * Wait() * signalHandler() * UpdateEventForStream() * GetStreamNames() * GetEventStreamID() * GetEvent() * GetState() * Message() * LogLevel() Node2 JiveXML::IServer + ~IServer() + ServerThreadStopped() Node2->Node1 Node3 JiveXML::IEventServer + ~IEventServer() * GetStreamNames() * GetEventStreamID() * GetEvent() * GetState() * GetRunServerFlag() Node3->Node2 Node4 JiveXML::IEventReceiver + ~IEventReceiver() * UpdateEventForStream() Node4->Node2 Node5 JiveXML::IMessage + ~IMessage() * Message() * LogLevel() Node5->Node2