|
Rice Pastry API | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectrice.pastry.socket.SocketSourceRouteManager
Class which keeps track of the best routes to remote nodes. This class is also therefore in charge of declaring node death and liveness.
Nested Class Summary | |
protected class |
SocketSourceRouteManager.AddressManager
Internal class which is tasked with maintaining the status of a single remote address. |
Field Summary | |
static long |
CHECK_DEAD_THROTTLE
DESCRIBE THE FIELD |
static long |
PING_THROTTLE
DESCRIBE THE FIELD |
Constructor Summary | |
protected |
SocketSourceRouteManager(SocketPastryNode node,
SocketNodeHandlePool pool,
EpochInetSocketAddress bindAddress,
EpochInetSocketAddress proxyAddress)
Constructor |
Method Summary | |
void |
bootstrap(EpochInetSocketAddress address,
Message message)
Method which sends a bootstrap message across the wire. |
void |
checkLiveness(EpochInetSocketAddress address)
Method which FORCES a check of liveness of the remote node. |
protected SocketSourceRouteManager.AddressManager |
getAddressManager(EpochInetSocketAddress address,
boolean search)
Internal method which returns (or builds) the manager associated with an address |
protected SourceRoute[] |
getAllRoutes(EpochInetSocketAddress destination)
Internal method which returns a list of all possible routes to a given address. |
java.util.HashMap |
getBest()
Gets the Best attribute of the SocketSourceRouteManager object |
protected SourceRoute |
getBestRoute(EpochInetSocketAddress address)
Internal method which returns the best known route to the given destination |
int |
getLiveness(EpochInetSocketAddress address)
Method which returns the last cached liveness value for the given address. |
SocketCollectionManager |
getManager()
Method which returns the internal manager |
protected void |
markAlive(SourceRoute route)
This method should be called when a known route is declared alive. |
protected void |
markDead(EpochInetSocketAddress address)
This method should be called when a known node is declared dead - this is ONLY called when a new epoch of that node is detected. |
protected void |
markDead(SourceRoute route)
This method should be called when a known route is declared dead. |
protected void |
markProximity(SourceRoute route,
int proximity)
This method should be called when a known route has its proximity updated |
protected void |
markSuspected(SourceRoute route)
This method should be called when a known route is declared suspected. |
void |
ping(EpochInetSocketAddress address)
Method which suggests a ping to the remote node. |
int |
proximity(EpochInetSocketAddress address)
Method which returns the last cached proximity value for the given address. |
protected void |
reroute(EpochInetSocketAddress address,
Message m)
Reroutes the given message. |
void |
resign()
Makes this node resign from the network. |
void |
send(EpochInetSocketAddress address,
Message message)
Method which sends a message across the wire. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static long CHECK_DEAD_THROTTLE
public static long PING_THROTTLE
Constructor Detail |
protected SocketSourceRouteManager(SocketPastryNode node, SocketNodeHandlePool pool, EpochInetSocketAddress bindAddress, EpochInetSocketAddress proxyAddress)
node
- The local nodepool
- The node hanlde poolbindAddress
- The address which the node should bind toproxyAddress
- The address which the node should advertise as it's
addressMethod Detail |
public java.util.HashMap getBest()
public SocketCollectionManager getManager()
protected SocketSourceRouteManager.AddressManager getAddressManager(EpochInetSocketAddress address, boolean search)
address
- The remote addresssearch
- DESCRIBE THE PARAMETER
public int getLiveness(EpochInetSocketAddress address)
address
- The address to return the value for
protected SourceRoute[] getAllRoutes(EpochInetSocketAddress destination)
destination
- DESCRIBE THE PARAMETER
protected SourceRoute getBestRoute(EpochInetSocketAddress address)
address
- The address
public void resign() throws java.io.IOException
java.io.IOException
- DESCRIBE THE EXCEPTIONpublic void bootstrap(EpochInetSocketAddress address, Message message)
message
- The message to sendaddress
- The address to send the message topublic void send(EpochInetSocketAddress address, Message message)
message
- The message to sendaddress
- The address to send the message topublic void ping(EpochInetSocketAddress address)
address
- DESCRIBE THE PARAMETERpublic void checkLiveness(EpochInetSocketAddress address)
address
- DESCRIBE THE PARAMETERpublic int proximity(EpochInetSocketAddress address)
address
- The address to return the value for
protected void markDead(SourceRoute route)
route
- The now-dead routeprotected void markDead(EpochInetSocketAddress address)
address
- The now-dead addressprotected void markAlive(SourceRoute route)
route
- The now-live routeprotected void markSuspected(SourceRoute route)
route
- The now-live routeprotected void markProximity(SourceRoute route, int proximity)
route
- The routeproximity
- The proximityprotected void reroute(EpochInetSocketAddress address, Message m)
m
- The messageaddress
- The address of the remote node
|
Rice Pastry API | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |