Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

InitActivity.h

00001 /*
00002  * Copyright 2003 Michael A. Marsh, Cornell University. All rights reserved.
00003  * This software is released under the modified BSD license.
00004  * See the file LICENSE in the top-level directory for details.
00005  */
00006 //
00007 // $Id: InitActivity.h,v 1.3 2004/05/19 15:56:24 mmarsh Exp $
00008 //
00009 // $Log: InitActivity.h,v $
00010 // Revision 1.3  2004/05/19 15:56:24  mmarsh
00011 // Added copyright and license statements.
00012 //
00013 // Revision 1.2  2003/11/04 22:04:05  mmarsh
00014 // General code cleanup.
00015 //
00016 //
00017 
00018 #ifndef __CODEX_APSS_INITACTIVITY_H__
00019 #define __CODEX_APSS_INITACTIVITY_H__
00020 
00021 #include "CODEX_Events/Activity.h"
00022 #include "CODEX_Events/Event.h"
00023 #include "Types.h"
00024 #include "MessageProcessor.h"
00025 #include "CODEX_Server/ServerResponseHandler.h"
00026 #include "CODEX_Server/UnicastRequestHandler.h"
00027 
00028 namespace CODEX_APSS
00029 {
00030    class InitEvent;
00031 
00040    class InitActivity : public CODEX_Events::CloseHandler
00041    {
00042       public :
00044          typedef vector< SignedEstablishedMsg >  EvidenceVector;
00045 
00059          InitActivity( CODEX_Events::DeadPileType& deadPile,
00060                        CODEX_Events::QType& eventQueue,
00061                        unsigned int version,
00062                        unsigned int coordinator,
00063                        unsigned int self,
00064                        unsigned int num,
00065                        const unsigned char* key,
00066                        const SubshareList& subshares,
00067                        CODEX_Server::ServerResponseHandler* responseHandler,
00068                        CODEX_Server::UnicastRequestHandler* requestHandler );
00069 
00071          virtual ~InitActivity();
00072 
00073          bool handler( CODEX_Events::CloseEvent& event );
00074 
00076          bool handler( InitEvent& event );
00077 
00079          void addFailure();
00080 
00082          void addEvidence( const SublabelType& label,
00083                            EvidenceVector* evidence );
00084 
00085       private :
00086          typedef map< SublabelType , EvidenceVector* >  EvidenceMap;
00087 
00088          unsigned int   m_version;
00089          unsigned int   m_coordinator;
00090          unsigned int   m_self;
00091          unsigned int   m_num;
00092          unsigned char  m_key[ CODEX_Server::ServerState::nMID ];
00093 
00094          SubshareList                          m_subshares;
00095          CODEX_Server::ServerResponseHandler*  m_responseHandler;
00096          CODEX_Server::UnicastRequestHandler*  m_requestHandler;
00097          EvidenceMap                           m_evidence;
00098 
00099          unsigned int  m_numShares;
00100          unsigned int  m_failures;
00101    };
00102 
00103 }
00104 
00105 #endif /* __CODEX_APSS_INITACTIVITY_H__ */

Generated on Fri May 6 17:39:33 2005 for COrnell Data EXchange (CODEX) by  doxygen 1.4.1