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

CODEX_KeyService::ClientReadCallback Class Reference

This class processes server responses to a CODEX_Client::ReadKeyMsg. More...

#include <ClientReadCallback.h>

Inheritance diagram for CODEX_KeyService::ClientReadCallback:

Inheritance graph
[legend]
Collaboration diagram for CODEX_KeyService::ClientReadCallback:

Collaboration graph
[legend]
List of all members.

Public Types

typedef CODEX_ASN1::Array<
CODEX_Server::ServerSignature
ServerArray
 Convenient short name.
typedef CODEX_Server::ServerState::ShareType ShareType
 Shorthand for the type of a sharing.
typedef CODEX_Server::ServerState::ShareSetType ShareSetType
 Shorthand for the type of a set of shares.
typedef CODEX_Client::CipherTextType CipherTextType
 Shorthand for the type of a ciphertext.
typedef CODEX_Client::BlindCipherTextType BlindCipherTextType
 Shorthand for the type of a blind ciphertext.
typedef CODEX_Client::BlindPlainTextType BlindPlainTextType
 Shorthand for the type of a blind plaintext.
typedef vector< ShareType * > PartialArray
 Convenient short name.
typedef map< BlindCipherTextType,
PartialArray
PartialMap
 Mapping from a blinded ciphertext to its partial decryptions.
typedef map< BlindCipherTextType,
BIGNUM * > 
DigestMap
 Mapping from a blinded ciphertext to a message digest.
typedef map< BlindCipherTextType,
ServerArray
EvidenceMap
 Mapping from a blinded ciphertext to its supporting evidence.
typedef CODEX_Server::ServerState::ChallengeVector ChallengeVector
 Convenient short name.

Public Member Functions

 ClientReadCallback (CODEX_Events::DeadPileType &deadPile, CODEX_Events::QType &eventQueue, CODEX_Server::SignRequestHandler *destination, ClientResponseHandler *clientAct, const LabeledReadKeyMsg &req, const unsigned char *seqNum, CODEX_Server::BroadcastRequestHandler *reqHandler)
 Constructor.
virtual ~ClientReadCallback ()
 Virtual destructor.
bool operator() (unsigned int server, CODEX_Quorum::Message *msg)
void fail ()
 On failure, callbacks should close the connection to the client.
const unsigned char * seqNum () const
 The sequence number for the request.
virtual bool operator() (unsigned int server, Message *msg)=0
virtual bool handler (EventAck &event)
 The base class is responsible for handling acknowledgements, which are relevant to whether the Activity is ready for deletion.

Static Public Attributes

static const unsigned int NumShares = ShareType::NumShares
 Shorthand for the number of shares in a sharing.

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.

Classes

struct  BN_less
 This is probably toss-able.

Detailed Description

This class processes server responses to a CODEX_Client::ReadKeyMsg.

Once sufficient responses have been received, this will generate an event to request a threshold signature.

Definition at line 46 of file ClientReadCallback.h.


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().

virtual bool CODEX_Quorum::ResponseCallback::operator() unsigned int  server,
Message msg
[pure virtual, inherited]
 

Parameters:
server The ID of the server that sent the message being processed.
msg The message received. The callback object takes ownership of the memory.

bool ClientReadCallback::operator() unsigned int  server,
CODEX_Quorum::Message msg
 

Bug:
Have to cast away const for unmarshal.

Definition at line 85 of file ClientReadCallback.cc.

References CODEX_Server::ServerState::addChallenge(), CODEX_Ciphers::VarRSABlindCipherText::c1(), ClientReadCallback(), CODEX_Server::ServerState::defaultSignatureLabel(), CODEX_KeyService::StateInfo::delegationDomain(), CODEX_Quorum::QuorumSystem::faultsTolerated(), CODEX_Quorum::Message::fill(), CODEX_Ciphers::ElGamalPublicKey::g(), CODEX_KeyService::StateInfo::getActFromSeqNum(), CODEX_Server::ServerState::hashFunc(), CODEX_Server::ServerState::hostNum(), CODEX_ASN1::Base::initialized(), CODEX_KeyService::StateInfo::instance(), CODEX_Server::ServerState::instance(), CODEX_KeyService::LabeledReadKeyMsg::label(), CODEX_KeyService::SupportedClientResponse< RespT, ReqT >::marshal(), CODEX_Ciphers::VarRSABlindCipherText::marshal(), CODEX_KeyService::LabeledReadKeyMsg::marshal(), CODEX_Client::SignedMessage< MT, ST >::message(), CODEX_KeyService::StateInfo::messageDomain(), CODEX_Server::ServerState::newSequenceNumber(), CODEX_Ciphers::ElGamalPublicKey::p(), CODEX_Server::ServerState::publicEGKey(), CODEX_Server::ServerState::publicKey(), CODEX_Quorum::QuorumSystem::quorumSize(), CODEX_Server::ServerState::quorumSystem(), CODEX_KeyService::StateInfo::registerSequenceNumber(), CODEX_Server::ServerState::removeChallenge(), CODEX_Events::Activity::sendEvent(), CODEX_KeyService::ResponseCallback::seqNum(), CODEX_Client::SignedMessage< MT, ST >::signature(), CODEX_ASN1::Integer::unmarshal(), CODEX_Ciphers::VarRSABlindCipherText::unmarshal(), CODEX_ASN1::BigNumber::value(), CODEX_ASN1::Integer::value(), and CODEX_Ciphers::RSAPublicKey::verifySignature().

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(), 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(), 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()(), 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:42:15 2005 for COrnell Data EXchange (CODEX) by  doxygen 1.4.1