|
Rice Pastry API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.util.Observable rice.pastry.PastryNode rice.pastry.transport.TLPastryNode
public class TLPastryNode
Field Summary | |
---|---|
static byte |
CONNECTION_NO_ACCEPTOR
|
static byte |
CONNECTION_NO_APP
|
static byte |
CONNECTION_OK
|
static byte |
CONNECTION_UNKNOWN
|
static byte |
CONNECTION_UNKNOWN_ERROR
|
protected ScheduledMessage |
joinEvent
|
protected int |
leafSetMaintFreq
|
protected ScheduledMessage |
leafSetRoutineMaintenance
|
protected LivenessProvider<NodeHandle> |
livenessProvider
|
protected int |
routeSetMaintFreq
|
protected ScheduledMessage |
routeSetRoutineMaintenance
|
Fields inherited from class rice.pastry.PastryNode |
---|
apps, isDestroyed, joinFailed, joinFailedReason, leafSet, localhandle, logger, myNodeId, router, routeSet |
Fields inherited from interface org.mpisws.p2p.transport.liveness.LivenessListener |
---|
LIVENESS_ALIVE, LIVENESS_DEAD, LIVENESS_DEAD_FOREVER, LIVENESS_SUSPECTED |
Fields inherited from interface org.mpisws.p2p.transport.proximity.ProximityProvider |
---|
DEFAULT_PROXIMITY |
Constructor Summary | |
---|---|
TLPastryNode(Id id,
Environment e)
|
Method Summary | |
---|---|
protected void |
acceptAppSocket(int appId)
|
void |
addLivenessListener(LivenessListener<NodeHandle> name)
|
void |
addProximityListener(ProximityListener<NodeHandle> listener)
|
boolean |
checkLiveness(NodeHandle i,
java.util.Map<java.lang.String,java.lang.Integer> options)
Returns wether a new notification will occur. |
void |
clearState(NodeHandle i)
Force layer to clear the existing state related to the Identifier. |
NodeHandle |
coalesce(NodeHandle newHandle)
Needed for legacy java deserialization of NodeHanlde because we aren't given any other way to do this properly such as a protected constructor. |
SocketRequestHandle |
connect(NodeHandle i2,
AppSocketReceiver deliverSocketToMe,
PastryAppl appl,
int timeout)
Called by PastryAppl to ask the transport layer to open a Socket to its counterpart on another node. |
void |
destroy()
Method which kills a PastryNode. |
void |
doneNode(java.util.Collection<NodeHandle> bootstrap)
Called after the node is initialized. |
void |
doneNode(NodeHandle[] bootstrap)
|
Bootstrapper |
getBootstrapper()
|
int |
getLiveness(NodeHandle i,
java.util.Map<java.lang.String,java.lang.Integer> options)
|
LivenessProvider<NodeHandle> |
getLivenessProvider()
|
ProximityProvider<NodeHandle> |
getProxProvider()
|
TransportLayer<NodeHandle,RawMessage> |
getTL()
|
void |
incomingSocket(P2PSocket<NodeHandle> s)
Notification of a new socket. |
void |
initiateJoin(NodeHandle[] bootstrap)
Overridden by derived classes to initiate the join process |
void |
livenessChanged(NodeHandle i,
int val,
java.util.Map<java.lang.String,java.lang.Integer> options)
Called when the liveness changes. |
void |
messageReceived(NodeHandle i,
RawMessage m,
java.util.Map<java.lang.String,java.lang.Integer> options)
Called when a new message is received. |
void |
nodeIsReady()
Overridden by derived classes, and invoked when the node has joined successfully. |
protected void |
notifyLivenessListeners(NodeHandle i,
int val,
java.util.Map<java.lang.String,java.lang.Integer> options)
|
int |
proximity(NodeHandle nh)
The proximity of the node handle. |
void |
proximityChanged(NodeHandle i,
int val,
java.util.Map<java.lang.String,java.lang.Integer> options)
|
NodeHandle |
readNodeHandle(InputBuffer buf)
|
void |
registerReceiver(int address,
PastryAppl receiver)
Registers a message receiver with this Pastry node. |
boolean |
removeLivenessListener(LivenessListener<NodeHandle> name)
|
boolean |
removeProximityListener(ProximityListener<NodeHandle> listener)
|
ScheduledMessage |
scheduleMsg(Message msg,
long delay)
Schedule the specified message to be sent to the local node after a specified delay. |
ScheduledMessage |
scheduleMsg(Message msg,
long delay,
long period)
Schedule the specified message for repeated fixed-delay delivery to the local node, beginning after the specified delay. |
ScheduledMessage |
scheduleMsgAtFixedRate(Message msg,
long delay,
long period)
Schedule the specified message for repeated fixed-rate delivery to the local node, beginning after the specified delay. |
ExponentialBackoffScheduledMessage |
scheduleMsgExpBackoff(Message msg,
long delay,
long initialPeriod,
double expBase)
|
PMessageReceipt |
send(NodeHandle handle,
Message msg,
PMessageNotification deliverAckToMe,
java.util.Map<java.lang.String,java.lang.Integer> tempOptions)
Deliver message to the NodeHandle. |
void |
setSocketElements(NodeHandle localhandle,
int lsmf,
int rsmf,
TransportLayer<NodeHandle,RawMessage> tl,
LivenessProvider<NodeHandle> livenessProvider,
ProximityProvider<NodeHandle> proxProvider,
Deserializer deserializer,
NodeHandleFactory handleFactory,
Bootstrapper boot)
|
java.lang.String |
toString()
|
Methods inherited from class java.util.Observable |
---|
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final byte CONNECTION_UNKNOWN_ERROR
public static final byte CONNECTION_UNKNOWN
public static final byte CONNECTION_OK
public static final byte CONNECTION_NO_APP
public static final byte CONNECTION_NO_ACCEPTOR
protected ScheduledMessage joinEvent
protected int leafSetMaintFreq
protected int routeSetMaintFreq
protected ScheduledMessage leafSetRoutineMaintenance
protected ScheduledMessage routeSetRoutineMaintenance
protected LivenessProvider<NodeHandle> livenessProvider
Constructor Detail |
---|
public TLPastryNode(Id id, Environment e)
Method Detail |
---|
public void registerReceiver(int address, PastryAppl receiver)
PastryNode
registerReceiver
in class PastryNode
address
- the address that the receiver will be at.receiver
- the message receiver.public NodeHandle coalesce(NodeHandle newHandle)
NodeHandleFactory
coalesce
in interface NodeHandleFactory
coalesce
in class PastryNode
public SocketRequestHandle connect(NodeHandle i2, AppSocketReceiver deliverSocketToMe, PastryAppl appl, int timeout)
PastryNode
connect
in class PastryNode
public void incomingSocket(P2PSocket<NodeHandle> s) throws java.io.IOException
TransportLayerCallback
incomingSocket
in interface TransportLayerCallback<NodeHandle,RawMessage>
s
- the incoming socket
java.io.IOException
protected void acceptAppSocket(int appId) throws AppSocketException
AppSocketException
public ExponentialBackoffScheduledMessage scheduleMsgExpBackoff(Message msg, long delay, long initialPeriod, double expBase)
public void initiateJoin(NodeHandle[] bootstrap)
PastryNode
initiateJoin
in class PastryNode
bootstrap
- Node handle to bootstrap with.public void nodeIsReady()
PastryNode
nodeIsReady
in class PastryNode
public int proximity(NodeHandle nh)
PastryNode
proximity
in interface ProximityProvider<NodeHandle>
proximity
in class PastryNode
public ScheduledMessage scheduleMsg(Message msg, long delay)
scheduleMsg
in class PastryNode
msg
- a message that will be delivered to the local node after the
specified delaydelay
- time in milliseconds before message is to be delivered
public ScheduledMessage scheduleMsg(Message msg, long delay, long period)
scheduleMsg
in class PastryNode
msg
- a message that will be delivered to the local node after the
specified delaydelay
- time in milliseconds before message is to be deliveredperiod
- time in milliseconds between successive message deliveries
public ScheduledMessage scheduleMsgAtFixedRate(Message msg, long delay, long period)
scheduleMsgAtFixedRate
in class PastryNode
msg
- a message that will be delivered to the local node after the
specified delaydelay
- time in milliseconds before message is to be deliveredperiod
- time in milliseconds between successive message deliveries
public PMessageReceipt send(NodeHandle handle, Message msg, PMessageNotification deliverAckToMe, java.util.Map<java.lang.String,java.lang.Integer> tempOptions)
PastryNode
send
in class PastryNode
public void messageReceived(NodeHandle i, RawMessage m, java.util.Map<java.lang.String,java.lang.Integer> options) throws java.io.IOException
TransportLayerCallback
messageReceived
in interface TransportLayerCallback<NodeHandle,RawMessage>
i
- The node it is coming fromm
- the messageoptions
- describe how the message arrived (udp/tcp, encrypted etc)
java.io.IOException
- if there is a problem decoding the messagepublic NodeHandle readNodeHandle(InputBuffer buf) throws java.io.IOException
readNodeHandle
in interface NodeHandleFactory
java.io.IOException
public Bootstrapper getBootstrapper()
getBootstrapper
in class PastryNode
public void setSocketElements(NodeHandle localhandle, int lsmf, int rsmf, TransportLayer<NodeHandle,RawMessage> tl, LivenessProvider<NodeHandle> livenessProvider, ProximityProvider<NodeHandle> proxProvider, Deserializer deserializer, NodeHandleFactory handleFactory, Bootstrapper boot)
public void doneNode(java.util.Collection<NodeHandle> bootstrap)
bootstrap
- The node which this node should boot off of.public void doneNode(NodeHandle[] bootstrap)
public java.lang.String toString()
toString
in class PastryNode
public void destroy()
PastryNode
destroy
in interface Destructable
destroy
in class PastryNode
public void livenessChanged(NodeHandle i, int val, java.util.Map<java.lang.String,java.lang.Integer> options)
LivenessListener
livenessChanged
in interface LivenessListener<NodeHandle>
public void addLivenessListener(LivenessListener<NodeHandle> name)
addLivenessListener
in interface LivenessProvider<NodeHandle>
public boolean removeLivenessListener(LivenessListener<NodeHandle> name)
removeLivenessListener
in interface LivenessProvider<NodeHandle>
protected void notifyLivenessListeners(NodeHandle i, int val, java.util.Map<java.lang.String,java.lang.Integer> options)
public boolean checkLiveness(NodeHandle i, java.util.Map<java.lang.String,java.lang.Integer> options)
LivenessProvider
checkLiveness
in interface LivenessProvider<NodeHandle>
i
- the node to check
public int getLiveness(NodeHandle i, java.util.Map<java.lang.String,java.lang.Integer> options)
getLiveness
in interface LivenessProvider<NodeHandle>
public void proximityChanged(NodeHandle i, int val, java.util.Map<java.lang.String,java.lang.Integer> options)
proximityChanged
in interface ProximityListener<NodeHandle>
public LivenessProvider<NodeHandle> getLivenessProvider()
public ProximityProvider<NodeHandle> getProxProvider()
public TransportLayer<NodeHandle,RawMessage> getTL()
public void clearState(NodeHandle i)
LivenessProvider
clearState
in interface LivenessProvider<NodeHandle>
public void addProximityListener(ProximityListener<NodeHandle> listener)
addProximityListener
in interface ProximityProvider<NodeHandle>
public boolean removeProximityListener(ProximityListener<NodeHandle> listener)
removeProximityListener
in interface ProximityProvider<NodeHandle>
|
Rice Pastry API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |