org.mpisws.p2p.transport.identity
Class IdentityImpl<UpperIdentifier,MiddleIdentifier,UpperMsgType,LowerIdentifier>
java.lang.Object
org.mpisws.p2p.transport.identity.IdentityImpl<UpperIdentifier,MiddleIdentifier,UpperMsgType,LowerIdentifier>
public class IdentityImpl<UpperIdentifier,MiddleIdentifier,UpperMsgType,LowerIdentifier>
- extends java.lang.Object
Method Summary |
protected boolean |
addBinding(UpperIdentifier u,
LowerIdentifier l,
java.util.Map<java.lang.String,java.lang.Integer> options)
|
protected int |
addIntendedDest(UpperIdentifier i)
Returns the identifier. |
void |
addPendingMessage(UpperIdentifier i,
org.mpisws.p2p.transport.identity.IdentityImpl.IdentityMessageHandle ret)
|
boolean |
destinationChanged(UpperIdentifier oldDest,
UpperIdentifier newDest,
LowerIdentifier i,
java.util.Map<java.lang.String,java.lang.Integer> options)
Return true if the new one is a valid replacement of the old
True if they are the same |
LowerIdentity<LowerIdentifier,java.nio.ByteBuffer> |
getLowerIdentity()
|
UpperIdentity<UpperIdentifier,UpperMsgType> |
getUpperIdentity()
|
void |
initLowerLayer(TransportLayer<LowerIdentifier,java.nio.ByteBuffer> tl,
ErrorHandler<LowerIdentifier> handler)
|
void |
initUpperLayer(UpperIdentifier localIdentifier,
TransportLayer<MiddleIdentifier,UpperMsgType> tl,
LivenessProvider<MiddleIdentifier> live,
ProximityProvider<MiddleIdentifier> prox)
|
void |
setDeadForever(UpperIdentifier i,
java.util.Map<java.lang.String,java.lang.Integer> options)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
localIdentifier
protected byte[] localIdentifier
lower
protected org.mpisws.p2p.transport.identity.IdentityImpl.LowerIdentityImpl lower
upper
protected org.mpisws.p2p.transport.identity.IdentityImpl.UpperIdentityImpl upper
pendingMessages
protected java.util.Map<UpperIdentifier,java.util.Set<org.mpisws.p2p.transport.identity.IdentityImpl.IdentityMessageHandle>> pendingMessages
deadForever
protected java.util.Set<UpperIdentifier> deadForever
environment
protected Environment environment
logger
protected Logger logger
serializer
protected IdentitySerializer<UpperIdentifier,MiddleIdentifier,LowerIdentifier> serializer
nodeChangeStrategy
protected NodeChangeStrategy<UpperIdentifier,LowerIdentifier> nodeChangeStrategy
sanityChecker
protected SanityChecker<UpperIdentifier,MiddleIdentifier> sanityChecker
bindings
protected java.util.Map<LowerIdentifier,UpperIdentifier> bindings
- Multiple UpperIdentifiers claim the same binding to the
LowerIdentifier.
If these are unrelated nodes (different ID/credentials) we need to
make sure to expire the node first. If they are the same node, and
just a new epoch, then we can exprie them right away.
Note, that it's possible to have the UpperIdentifier in multiple places if it
has multiple paths (such as source routing)
SUCCESS
public static final byte SUCCESS
- See Also:
- Constant Field Values
FAILURE
public static final byte FAILURE
- See Also:
- Constant Field Values
NO_ID
public static final byte NO_ID
- See Also:
- Constant Field Values
NORMAL
public static final byte NORMAL
- See Also:
- Constant Field Values
INCORRECT_IDENTITY
public static final byte INCORRECT_IDENTITY
- See Also:
- Constant Field Values
NODE_HANDLE_TO_INDEX
public static final java.lang.String NODE_HANDLE_TO_INDEX
- See Also:
- Constant Field Values
NODE_HANDLE_FROM_INDEX
public static final java.lang.String NODE_HANDLE_FROM_INDEX
- See Also:
- Constant Field Values
IdentityImpl
public IdentityImpl(byte[] localIdentifier,
IdentitySerializer<UpperIdentifier,MiddleIdentifier,LowerIdentifier> serializer,
NodeChangeStrategy<UpperIdentifier,LowerIdentifier> nodeChangeStrategy,
SanityChecker<UpperIdentifier,MiddleIdentifier> sanityChecker,
Environment environment)
addPendingMessage
public void addPendingMessage(UpperIdentifier i,
org.mpisws.p2p.transport.identity.IdentityImpl.IdentityMessageHandle ret)
setDeadForever
public void setDeadForever(UpperIdentifier i,
java.util.Map<java.lang.String,java.lang.Integer> options)
addIntendedDest
protected int addIntendedDest(UpperIdentifier i)
- Returns the identifier.
- Parameters:
i
-
- Returns:
addBinding
protected boolean addBinding(UpperIdentifier u,
LowerIdentifier l,
java.util.Map<java.lang.String,java.lang.Integer> options)
destinationChanged
public boolean destinationChanged(UpperIdentifier oldDest,
UpperIdentifier newDest,
LowerIdentifier i,
java.util.Map<java.lang.String,java.lang.Integer> options)
- Return true if the new one is a valid replacement of the old
True if they are the same
- Parameters:
oldDest
- newDest
- i
-
- Returns:
initLowerLayer
public void initLowerLayer(TransportLayer<LowerIdentifier,java.nio.ByteBuffer> tl,
ErrorHandler<LowerIdentifier> handler)
getLowerIdentity
public LowerIdentity<LowerIdentifier,java.nio.ByteBuffer> getLowerIdentity()
getUpperIdentity
public UpperIdentity<UpperIdentifier,UpperMsgType> getUpperIdentity()
initUpperLayer
public void initUpperLayer(UpperIdentifier localIdentifier,
TransportLayer<MiddleIdentifier,UpperMsgType> tl,
LivenessProvider<MiddleIdentifier> live,
ProximityProvider<MiddleIdentifier> prox)
Copyright © 2001-2005 - Rice Pastry.