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