|
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 | |
long |
CHECK_DEAD_THROTTLE
DESCRIBE THE FIELD |
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. |
void |
destroy()
Makes this node resign from the network. |
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 |
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 long CHECK_DEAD_THROTTLE
public 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
address| Method 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 destroy()
throws java.io.IOException
java.io.IOException - DESCRIBE THE EXCEPTION
public void bootstrap(EpochInetSocketAddress address,
Message message)
message - The message to sendaddress - The address to send the message to
public 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 route
protected void markProximity(SourceRoute route,
int proximity)
route - The routeproximity - The proximity
protected 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 | ||||||||||