00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "BroadcastRequestEvent.h"
00019 #include "ServerState.h"
00020
00021 #include "ServerExceptions.h"
00022
00023 using namespace CODEX_Server;
00024
00025 BroadcastRequestEvent::BroadcastRequestEvent(
00026 CODEX_Events::Activity* source,
00027 BroadcastRequestHandler* destination,
00028 const CODEX_Quorum::Message& message,
00029 CODEX_Quorum::ResponseCallback* cb ) :
00030 CODEX_Events::EventBase( source ),
00031 m_destination( destination ),
00032 m_message( message ),
00033 m_cb( cb ),
00034 m_bcast( false ),
00035 m_time( 0 )
00036 {
00037 CODEX_Quorum::QuorumSystem* qs = ServerState::instance()->quorumSystem();
00038 if ( NULL == qs )
00039 {
00040 throw NoQuorumSystemException( __FILE__ , __LINE__ );
00041 }
00042 for ( unsigned int i = 0 ; i < qs->quorumSystemSize() ; ++i )
00043 {
00044 m_retVals.push_back(CODEX_Quorum::RemoteServerReturn());
00045 }
00046 }
00047
00048 BroadcastRequestEvent::~BroadcastRequestEvent()
00049 {
00050 }