00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "MessageDeliverer.h"
00019 #include "CODEX_Server/ServerResponseEvent.h"
00020 #include "CODEX_Server/BroadcastRequestEvent.h"
00021
00022 using namespace CODEX_APSS;
00023
00024 MessageDeliverer::MessageDeliverer(
00025 CODEX_Events::DeadPileType& deadPile,
00026 CODEX_Events::QType& eventQueue,
00027 CODEX_Server::ServerResponseHandler* responder,
00028 CODEX_Server::BroadcastRequestHandler* broadcaster ) :
00029 CODEX_Events::Activity( deadPile, eventQueue ),
00030 m_responder( responder ),
00031 m_broadcaster( broadcaster )
00032 {
00033 }
00034
00035 MessageDeliverer::~MessageDeliverer()
00036 {
00037 }
00038
00039 void
00040 MessageDeliverer::sendTo( unsigned int server,
00041 const CODEX_Quorum::Message& message )
00042 {
00043 CODEX_Server::ServerResponseEvent* event =
00044 new CODEX_Server::ServerResponseEvent( this,
00045 m_responder,
00046 message,
00047 server );
00048 sendEvent( event, 0 );
00049 }
00050
00051 void
00052 MessageDeliverer::broadcast( const CODEX_Quorum::Message& message,
00053 CODEX_Quorum::ResponseCallback* cb )
00054 {
00055 CODEX_Server::BroadcastRequestEvent* event =
00056 new CODEX_Server::BroadcastRequestEvent( this,
00057 m_broadcaster,
00058 message,
00059 cb );
00060 sendEvent( event, 0 );
00061 }