|
Rice Pastry API | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object rice.pastry.socket.SocketSourceRouteManager.AddressManager
Internal class which is tasked with maintaining the status of a single remote address. This class is in charge of all source routes to that address, as well as declaring liveness/death of this address
Nested Class Summary | |
class |
SocketSourceRouteManager.AddressManager.SourceRouteManager
Internal class which is charges with managing the remote connection via a specific route |
Field Summary | |
protected SocketNodeHandle |
address
DESCRIBE THE FIELD |
protected SourceRoute |
best
the current best route to this remote address if best == null, we are already in a CheckDead, which means we are searching for a path |
protected int |
liveness
DESCRIBE THE FIELD |
protected java.util.LinkedList |
pendingAppSockets
DESCRIBE THE FIELD |
protected java.util.LinkedList |
queue
the queue of messages waiting for a route of SocketBuffer |
protected java.util.HashMap |
routes
DESCRIBE THE FIELD |
protected long |
updated
DESCRIBE THE FIELD |
Constructor Summary | |
SocketSourceRouteManager.AddressManager(SocketNodeHandle address,
boolean search)
Constructor, given an address and whether or not it should attempt to find the best route |
Method Summary | |
void |
checkLiveness()
Method which suggests a ping to the remote node. |
void |
connect(int appAddress,
AppSocketReceiver receiver,
int timeout)
Method which opens an app socket to this address |
int |
getLiveness()
Method which returns the last cached liveness value for the given address. |
protected SocketSourceRouteManager.AddressManager.SourceRouteManager |
getRouteManager(SourceRoute route)
Method which returns the route manager for the given route |
protected void |
markAlive(SourceRoute route)
This method should be called when a known route is declared alive. |
protected void |
markDead(SourceRoute route)
This method should be called when a known route is declared dead. |
protected void |
markDeadForever()
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 |
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()
Method which suggests a ping to the remote node. |
int |
proximity()
Method which returns the last cached proximity value for the given address. |
protected void |
purgeQueue()
DESCRIBE THE METHOD |
void |
send(SocketBuffer message)
Method which enqueues a message to this address |
protected void |
setAlive()
Internal method which marks this address as being alive. |
protected void |
setDead()
Internal method which marks this address as being dead. |
protected void |
setDeadForever()
Internal method which marks this address as being dead. |
protected void |
setSuspected()
Internal method which marks this address as being suspected. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected SocketNodeHandle address
protected SourceRoute best
protected java.util.LinkedList queue
protected java.util.LinkedList pendingAppSockets
protected java.util.HashMap routes
protected int liveness
protected long updated
Constructor Detail |
public SocketSourceRouteManager.AddressManager(SocketNodeHandle address, boolean search)
address
- The addresssearch
- Whether or not the manager should try and find a routeMethod Detail |
protected SocketSourceRouteManager.AddressManager.SourceRouteManager getRouteManager(SourceRoute route)
route
- The route
java.lang.IllegalArgumentException
- if route is nullpublic int getLiveness()
protected void setAlive()
java.lang.IllegalStateException
- if best is null.protected void setSuspected()
protected void setDead()
protected void setDeadForever()
public int proximity()
protected void markAlive(SourceRoute route)
route
- The now-live routeprotected void markSuspected(SourceRoute route)
route
- The now-suspected routeprotected void markDead(SourceRoute route)
route
- The now-dead routeprotected void markDeadForever()
protected void markProximity(SourceRoute route, int proximity)
route
- The routeproximity
- The proximitypublic void send(SocketBuffer message)
message
- The message to sendpublic void connect(int appAddress, AppSocketReceiver receiver, int timeout)
appAddress
- DESCRIBE THE PARAMETERreceiver
- DESCRIBE THE PARAMETERtimeout
- DESCRIBE THE PARAMETERpublic void ping()
public void checkLiveness()
protected void purgeQueue()
|
Rice Pastry API | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |