Rice Pastry API

org.mpisws.p2p.transport.liveness
Class AggressiveLivenessTransportLayerImpl<Identifier>

java.lang.Object
  extended by org.mpisws.p2p.transport.liveness.LivenessTransportLayerImpl<Identifier>
      extended by org.mpisws.p2p.transport.liveness.AggressiveLivenessTransportLayerImpl<Identifier>
Type Parameters:
Identifier -
All Implemented Interfaces:
LivenessProvider<Identifier>, LivenessTransportLayer<Identifier,java.nio.ByteBuffer>, LivenessTypes, OverrideLiveness<Identifier>, Pinger<Identifier>, TransportLayer<Identifier,java.nio.ByteBuffer>, TransportLayerCallback<Identifier,java.nio.ByteBuffer>, Destructable

public class AggressiveLivenessTransportLayerImpl<Identifier>
extends LivenessTransportLayerImpl<Identifier>

Cancels liveness check if you read/write to TCP or read UDP from the node.

Author:
Jeff Hoye

Nested Class Summary
 
Nested classes/interfaces inherited from class org.mpisws.p2p.transport.liveness.LivenessTransportLayerImpl
LivenessTransportLayerImpl.DeadChecker, LivenessTransportLayerImpl.EntityManager
 
Field Summary
 
Fields inherited from class org.mpisws.p2p.transport.liveness.LivenessTransportLayerImpl
BACKOFF_INITIAL, BACKOFF_LIMIT, CHECK_DEAD_THROTTLE, DEFAULT_RTO, environment, HDR_NORMAL, HDR_PING, HDR_PONG, logger, NUM_PING_TRIES, PING_DELAY, PING_JITTER, random, time, timer, tl
 
Fields inherited from interface org.mpisws.p2p.transport.liveness.LivenessTypes
LIVENESS_ALIVE, LIVENESS_DEAD, LIVENESS_DEAD_FOREVER, LIVENESS_SUSPECTED
 
Constructor Summary
AggressiveLivenessTransportLayerImpl(TransportLayer<Identifier,java.nio.ByteBuffer> tl, Environment env, ErrorHandler<Identifier> errorHandler, int checkDeadThrottle)
           
 
Method Summary
 P2PSocket<Identifier> getLSocket(P2PSocket<Identifier> s, LivenessTransportLayerImpl.EntityManager manager)
           
 void messageReceived(Identifier i, java.nio.ByteBuffer m, java.util.Map<java.lang.String,java.lang.Object> options)
          Called when a new message is received.
 
Methods inherited from class org.mpisws.p2p.transport.liveness.LivenessTransportLayerImpl
acceptMessages, acceptSockets, addLivenessListener, addPingListener, cancelLivenessCheck, cancelLivenessCheck, checkLiveness, clearState, connectionExceptionMeansFaulty, deleteManager, destroy, getLiveness, getLocalIdentifier, getManager, incomingSocket, openSocket, ping, pong, removeLivenessListener, removePingListener, sendMessage, setCallback, setErrorHandler, setLiveness, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AggressiveLivenessTransportLayerImpl

public AggressiveLivenessTransportLayerImpl(TransportLayer<Identifier,java.nio.ByteBuffer> tl,
                                            Environment env,
                                            ErrorHandler<Identifier> errorHandler,
                                            int checkDeadThrottle)
Method Detail

getLSocket

public P2PSocket<Identifier> getLSocket(P2PSocket<Identifier> s,
                                        LivenessTransportLayerImpl.EntityManager manager)
Overrides:
getLSocket in class LivenessTransportLayerImpl<Identifier>

messageReceived

public void messageReceived(Identifier i,
                            java.nio.ByteBuffer m,
                            java.util.Map<java.lang.String,java.lang.Object> options)
                     throws java.io.IOException
Description copied from interface: TransportLayerCallback
Called when a new message is received.

Specified by:
messageReceived in interface TransportLayerCallback<Identifier,java.nio.ByteBuffer>
Overrides:
messageReceived in class LivenessTransportLayerImpl<Identifier>
Parameters:
i - The node it is coming from
m - the message
options - describe how the message arrived (udp/tcp, encrypted etc)
Throws:
java.io.IOException - if there is a problem decoding the message

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.


Imprint-Dataprotection