#include <QuorumBuilderAct.h>
Inheritance diagram for CODEX_Server::QuorumBuilderAct:


Public Member Functions | |
| QuorumBuilderAct (CODEX_Events::DeadPileType &deadPile, CODEX_Events::QType &eventQueue) | |
| The constructor builds the activity and generates a QuorumBuilderEvent. | |
| virtual | ~QuorumBuilderAct () |
| Virtual destructor. | |
| bool | handler (QuorumBuilderEvent &event) |
| Handle a QuorumBuilderEvent. | |
| bool | handler (QuorumBuilderExpectNonceEvent &event) |
| Handle a QuorumBuilderExpectNonceEvent. | |
| 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. | |
It generates and handles its own event, which acts as a trigger and contains no actual data, aside from enough state to prevent deadlock. Every time the handler is called, it will check for missing servers in the quorum system's list and attempt to contact them. An additional event controls the authentication protocol stages.
Definition at line 39 of file QuorumBuilderAct.h.
|
|
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(). |
|
|
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(). |
|
|
Handle a QuorumBuilderExpectNonceEvent. This handler waits for the remote server to send a nonce challenge, at which point it computes the response and sends it to the server.
Definition at line 102 of file QuorumBuilderAct.cc. References CODEX_Server::ServerState::addQuorumServer(), CODEX_Quorum::Message::fill(), CODEX_Server::ServerState::hashFunc(), CODEX_Server::ServerState::hostNum(), CODEX_ASN1::Base::initialized(), CODEX_Server::ServerState::instance(), CODEX_Quorum::RemoteServer::isset_fd(), CODEX_ASN1::BigNumber::marshal(), CODEX_Server::ServerState::privateKey(), CODEX_Quorum::RemoteServer::sendTo(), CODEX_Quorum::RemoteServer::set_fd(), CODEX_Ciphers::RSAPrivateKey::sign(), and CODEX_ASN1::BigNumber::unmarshal(). |
|
|
Handle a QuorumBuilderEvent. This event is just a trigger for the handler to try to make any outstanding connections to other servers in the quorum system.
Definition at line 51 of file QuorumBuilderAct.cc. References CODEX_Server::ServerState::haveQuorumServer(), CODEX_Server::ServerState::hostName(), CODEX_Server::ServerState::hostNum(), CODEX_Server::ServerState::instance(), CODEX_Events::Activity::sendEvent(), CODEX_Server::ServerState::serverOutSocketBuilder(), and CODEX_Server::ServerState::serverPort(). Referenced by CODEX_Server::QuorumBuilderExpectNonceEvent::handle(), and CODEX_Server::QuorumBuilderEvent::handle(). |
|
||||||||||||||||
1.4.1