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

CODEX_APSS::MessageDeliverer Class Reference

Helper CODEX_Events::Activity for sending messages to servers. More...

#include <MessageDeliverer.h>

Inheritance diagram for CODEX_APSS::MessageDeliverer:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MessageDeliverer (CODEX_Events::DeadPileType &deadPile, CODEX_Events::QType &eventQueue, CODEX_Server::ServerResponseHandler *responder, CODEX_Server::BroadcastRequestHandler *broadcaster)
 Create a MessageDeliverer.
virtual ~MessageDeliverer ()
 Virtual destructor.
void sendTo (unsigned int server, const CODEX_Quorum::Message &message)
 Send a message to a server.
void broadcast (const CODEX_Quorum::Message &message, CODEX_Quorum::ResponseCallback *cb)
 Broadcast a message to the CODEX_Quorum::QuorumSystem.
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

Helper CODEX_Events::Activity for sending messages to servers.

Since a number of classes need to emit messages, yet are not CODEX_Events::Activitys, this class provides an interface for generating message events.

Definition at line 35 of file MessageDeliverer.h.


Member Function Documentation

void MessageDeliverer::broadcast const CODEX_Quorum::Message message,
CODEX_Quorum::ResponseCallback cb
 

Broadcast a message to the CODEX_Quorum::QuorumSystem.

This method generated a CODEX_Server::BroadcastRequestEvent.

Parameters:
message The message to send.
cb If not 0, the callback to handle responses. Ownership of the callback is taken over by the CODEX_Quorum::ResponseTracker.

Definition at line 52 of file MessageDeliverer.cc.

References CODEX_Events::Activity::sendEvent().

Referenced by CODEX_APSS::StateInfo::broadcast().

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 CODEX_APSS::InitActivity::addEvidence(), 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(), CODEX_APSS::InitActivity::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(), sendTo(), CODEX_Server::ShareLabelChallengeHandler::ShareLabelChallengeHandler(), and CODEX_APSS::TriggerActivity::TriggerActivity().

void MessageDeliverer::sendTo unsigned int  server,
const CODEX_Quorum::Message message
 

Send a message to a server.

This method generates a CODEX_Server::ServerResponseEvent.

Parameters:
server The server to contact.
message The message to send.

Definition at line 40 of file MessageDeliverer.cc.

References CODEX_Events::Activity::sendEvent().

Referenced by CODEX_APSS::StateInfo::sendTo().


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