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

CODEX_APSS::InitActivity Class Reference

Coordinate subshare propagation. More...

#include <InitActivity.h>

Inheritance diagram for CODEX_APSS::InitActivity:

Inheritance graph
[legend]
Collaboration diagram for CODEX_APSS::InitActivity:

Collaboration graph
[legend]
List of all members.

Public Types

typedef vector< SignedEstablishedMsgEvidenceVector
 Shorthand for the list of evidence.

Public Member Functions

 InitActivity (CODEX_Events::DeadPileType &deadPile, CODEX_Events::QType &eventQueue, unsigned int version, unsigned int coordinator, unsigned int self, unsigned int num, const unsigned char *key, const SubshareList &subshares, CODEX_Server::ServerResponseHandler *responseHandler, CODEX_Server::UnicastRequestHandler *requestHandler)
 Constructor.
virtual ~InitActivity ()
 Virtual destructor.
bool handler (CODEX_Events::CloseEvent &event)
bool handler (InitEvent &event)
 Handle an InitEvent.
void addFailure ()
 Increment the tally of failed EstablishMsg requests.
void addEvidence (const SublabelType &label, EvidenceVector *evidence)
 Add the supporting evidence for a successful EstablishMsg request.
virtual bool handler (CloseEvent &event)=0
 Abstract handler for CloseEvent%s.
virtual bool handler (EventAck &event)
 The base class is responsible for handling acknowledgements, which are relevant to whether the Activity is ready for deletion.

Protected Member Functions

void sendEvent (EventBase *event, Activity *source, bool failure=false)
void enableTerminate ()
 This method should be called when an Activity has received a CloseEvent or other indicator that it is no longer needed.

Protected Attributes

DeadPileType & m_deadPile
 The pile of Activity%s to be garbage-collected.
QType & m_queue
 The event queue.

Detailed Description

Coordinate subshare propagation.

Subshare propagation cannot rely on a simple broadcast-callback system, since multiple broadcasts and sets of responses are needed before an InitMsg can be responded to. This class manages the broadcasts and responses, determining when a ContributeMsg can be generated.

Definition at line 40 of file InitActivity.h.


Constructor & Destructor Documentation

InitActivity::InitActivity CODEX_Events::DeadPileType deadPile,
CODEX_Events::QType eventQueue,
unsigned int  version,
unsigned int  coordinator,
unsigned int  self,
unsigned int  num,
const unsigned char *  key,
const SubshareList subshares,
CODEX_Server::ServerResponseHandler responseHandler,
CODEX_Server::UnicastRequestHandler requestHandler
 

Constructor.

Parameters:
deadPile The list of Activity%s to clean up.
eventQueue The list of events to process.
version The protocol version.
coordinator The protocol coordinator.
self The local server's identifier.
num The identifier of the secret.
key The sequence number of the InitMsg request.
subshares The list of subsharings to establish.
responseHandler The destination for a ContributeMsg.
requestHandler The destination for EstablishMsg%s.

Definition at line 33 of file InitActivity.cc.


Member Function Documentation

void Activity::enableTerminate  )  [protected, inherited]
 

This method should be called when an Activity has received a CloseEvent or other indicator that it is no longer needed.

Actual termination will not occur until there are no remaining events outstanding (unacknowledged).

Definition at line 63 of file Activity.cc.

Referenced by CODEX_KeyService::ClientActivity::handler(), and CODEX_KeyService::ClientActivity::processRequest().

bool Activity::handler EventAck event  )  [virtual, inherited]
 

The base class is responsible for handling acknowledgements, which are relevant to whether the Activity is ready for deletion.

If a derived class reimpliments this method, it must call this version explicitly.

Definition at line 39 of file Activity.cc.

Referenced by CODEX_Events::EventAck::handle(), and CODEX_KeyService::ClientActivity::handler().

void Activity::sendEvent EventBase event,
Activity source,
bool  failure = false
[protected, inherited]
 

Parameters:
event New event to be added to the queue
source Source of event just handled, to which an acknowledgement should be sent. This is accessed by the method EventBase::source().
failure Is the acknowledgment a negative ack?

Definition at line 49 of file Activity.cc.

References CODEX_Events::Activity::m_queue.

Referenced by addEvidence(), CODEX_APSS::MessageDeliverer::broadcast(), CODEX_KeyService::ClientActivity::close(), CODEX_Server::UnicastRequestHandler::handler(), CODEX_Server::ShareLabelChallengeHandler::handler(), CODEX_Server::ServerResponseHandler::handler(), CODEX_Server::QuorumBuilderAct::handler(), CODEX_APSS::MessageVerifier::handler(), CODEX_APSS::MessageProcessor::handler(), handler(), CODEX_KeyService::DelegateResponseVerifier::handler(), CODEX_KeyService::DelegateRequestDistributor::handler(), CODEX_KeyService::ClientResponseSigner::handler(), CODEX_KeyService::ClientMessageVerifier::handler(), CODEX_KeyService::ClientMessageSigner::handler(), CODEX_KeyService::ClientMessageAbsorber::handler(), CODEX_KeyService::ClientActivity::handler(), CODEX_Server::BroadcastRequestHandler::handler(), CODEX_KeyService::VerifyWriteCallback::operator()(), CODEX_KeyService::SignWriteCallback::operator()(), CODEX_KeyService::SignReadCallback::operator()(), CODEX_KeyService::SignCreateCallback::operator()(), CODEX_APSS::MessageParser::operator()(), CODEX_KeyService::ClientWriteCallback::operator()(), CODEX_KeyService::ClientResponseParser::operator()(), CODEX_KeyService::ClientReadCallback::operator()(), CODEX_KeyService::ClientMessageParser::operator()(), CODEX_KeyService::ClientCreateCallback::operator()(), CODEX_KeyService::ClientActivity::processRequest(), CODEX_Server::QuorumBuilderAct::QuorumBuilderAct(), CODEX_APSS::MessageDeliverer::sendTo(), CODEX_Server::ShareLabelChallengeHandler::ShareLabelChallengeHandler(), and CODEX_APSS::TriggerActivity::TriggerActivity().


The documentation for this class was generated from the following files:
Generated on Fri May 6 17:41:36 2005 for COrnell Data EXchange (CODEX) by  doxygen 1.4.1