|
ePOST API | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectrice.pastry.socket.SocketSourceRouteManager
public class 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
|
int |
NUM_SOURCE_ROUTE_ATTEMPTS
|
long |
PING_THROTTLE
|
| Constructor Summary | |
|---|---|
protected |
SocketSourceRouteManager(SocketPastryNode node,
EpochInetSocketAddress bindAddress,
EpochInetSocketAddress proxyAddress,
RandomSource random)
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. |
NodeHandle |
coalesce(NodeHandle newHandle)
|
void |
destroy()
Makes this node resign from the network. |
SocketSourceRouteManager.AddressManager |
getAddressManager(EpochInetSocketAddress address)
|
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()
|
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 |
SocketNodeHandle |
getNodeHandle(EpochInetSocketAddress address)
|
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 int |
proximity(SourceRoute route)
|
SocketSourceRouteManager.AddressManager |
putAddressManager(EpochInetSocketAddress address,
boolean search)
Should be called while synchronized on nodeHandles |
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
public int NUM_SOURCE_ROUTE_ATTEMPTS
| Constructor Detail |
|---|
protected SocketSourceRouteManager(SocketPastryNode node,
EpochInetSocketAddress bindAddress,
EpochInetSocketAddress proxyAddress,
RandomSource random)
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 void destroy()
throws java.io.IOException
java.io.IOExceptionpublic SocketCollectionManager getManager()
protected SocketSourceRouteManager.AddressManager getAddressManager(EpochInetSocketAddress address,
boolean search)
address - The remote addresspublic NodeHandle coalesce(NodeHandle newHandle)
public SocketNodeHandle getNodeHandle(EpochInetSocketAddress address)
public SocketSourceRouteManager.AddressManager getAddressManager(EpochInetSocketAddress address)
public SocketSourceRouteManager.AddressManager putAddressManager(EpochInetSocketAddress address,
boolean search)
address - manager -
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 PARAMETERprl - DESCRIBE THE PARAMETERpublic void checkLiveness(EpochInetSocketAddress address)
public int proximity(EpochInetSocketAddress address)
address - The address to return the value for
public int getLiveness(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 int proximity(SourceRoute route)
protected 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 nodeprotected SourceRoute[] getAllRoutes(EpochInetSocketAddress destination)
address - The foreign address
protected SourceRoute getBestRoute(EpochInetSocketAddress address)
address - The address
|
ePOST API | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||