#include <FountainMasterNode.h>
Inheritance diagram for FountainMasterNode:

Public Member Functions | |
| void | checkConnections () |
| Handles incoming connection requests and messages on existing connections. | |
Private Types | |
| typedef Loki::SmartPtr< TreeTopology > | TreeTopologyPtr |
| Shorthand for a TreeTopology pointer wrapped inside a SmartPtr object. | |
Private Member Functions | |
| void | handleJoinAsServer (ConstParseMsgPtr request, FountainWireProtPtr serverCon) |
| handles a join request from the Fountain server | |
| void | handleJoin (ConstParseMsgPtr request, FountainWireProtPtr requestConnection) |
| int | handleLostChild (const NodeID &childID) |
| Handles a lost child of the master Fountain node. | |
| void | checkTree () |
| Checks the status of the tree topology. | |
| void | joinMasterNode () |
| Overloads FountainNode::joinMasterNode() method so this does nothing. | |
| void | handleLostParent (const char *message) |
| Overloads FountainNode::handleLostParent() method so this does nothing. | |
| void | rebuildTree (unsigned int degree=0) |
| If the Tree Topology could not be recovered from a node failure, this method will rebuild the tree from scratch. | |
| NodeResponsePtr | processRequest (FountainMessage::MessageAction action, ConstParseMsgPtr request, time_t timeout) |
| Handles master Fountain node specific requests. | |
| FountainMasterNode (const NodeID &myID) | |
| Default constructor, private since we're using a singleton design pattern. | |
| FountainMasterNode (const FountainMasterNode &rhs) | |
| Private copy constructor since we're using a singleton design pattern. | |
| FountainMasterNode & | operator= (const FountainMasterNode &rhs) |
| Private assignment operator since we're using a singleton design pattern. | |
| ~FountainMasterNode () | |
| Private destructor since we're using a singleton design pattern. | |
Private Attributes | |
| TreeTopologyPtr | treeTopologyPtr_ |
| std::string | myActor_ |
Friends | |
| class | FountainNodeCreator |
This is a singleton class since it really does not make sense for any application to maintain multiple FountainMasterNode objects. This object is instantiated by the masterNode.cpp driver code on and it typically will run on the head node of a cluster. It extends the FountainNode class by adding methods to handle lost parent and child nodes, which are reported by the other nodes in the Fountain tree topology.
|
|
Handles incoming connection requests and messages on existing connections.
Reimplemented from FountainNode. |
|
|
Checks the status of the tree topology. This method checks the status of the tree topology and attempts to recover or rebuilt it if any nodes in the tree are lost
|
|
||||||||||||
|
Handles join requests from an incoming connection.
Reimplemented from FountainNode. |
|
||||||||||||
|
handles a join request from the Fountain server A Fountain server process will attempt to join us, this function will either accept the request to join, or reject it if we already have a Fountain server connection.
|
|
|
Handles a lost child of the master Fountain node. Handles a lost child Fountain node.
Reimplemented from FountainNode. |
|
|
Overloads FountainNode::handleLostParent() method so this does nothing. Handles a lost parent Fountain node.
Reimplemented from FountainNode. |
|
|
Overloads FountainNode::joinMasterNode() method so this does nothing. Joins the master Fountain Node using the hostname and port specified in the FountainNode constructor.
Reimplemented from FountainNode. |
|
||||||||||||||||
|
Handles master Fountain node specific requests. Process and respond to a request message from our parent.
Reimplemented from FountainNode. |
|
|
The userid that launched us |
|
|
Pointer to our tree object |
1.4.6