net.jxta.impl.endpoint.router
Class RouterMessenger
java.lang.Object
net.jxta.util.AbstractSimpleSelectable
net.jxta.endpoint.AbstractMessenger
net.jxta.impl.endpoint.BlockingMessenger
net.jxta.impl.endpoint.router.RouterMessenger
- All Implemented Interfaces:
- Messenger, SimpleSelectable
class RouterMessenger
- extends BlockingMessenger
Messenger for destinations which are logical peers. This messenger is used
only at the origin of routes. Incoming messages that are being forwarded to
another peer do not use this form of messenger.
Fields inherited from interface net.jxta.endpoint.Messenger |
ANYSTATE, BREAKING, BROKEN, CLOSED, CLOSING, CONNECTED, DISCONNECTED, DISCONNECTING, IDLE, RECONCLOSING, RECONNECTING, RECONSATURATED, RESOLCLOSING, RESOLPENDING, RESOLSATURATED, RESOLVED, RESOLVING, SATURATED, SENDING, SENDINGSATURATED, TERMINAL, UNRESOLVABLE, UNRESOLVED, UNRESOLVING, USABLE |
Methods inherited from class net.jxta.impl.endpoint.BlockingMessenger |
close, getChannelMessenger, getDestAddressToUse, getLogicalDestinationAddress, getState, isClosed, resolve, sendMessageB, sendMessageN, setOwner, shutdown |
Methods inherited from class net.jxta.endpoint.AbstractMessenger |
flush, getDestinationAddress, getDestinationAddressObject, getMTU, isIdle, isSynchronous, itemChanged, sendMessage, sendMessage, sendMessage, setStateLock, toString, waitState |
RouterMessenger
public RouterMessenger(EndpointAddress dstAddress,
EndpointRouter r,
Object hint)
throws IOException
- Constructor for a RouterMessenger.
- Parameters:
dstAddress
- the peer which is the final destination of the message.r
- the router which this messenger is servicing.hint
- potential hint information that we passed
- Throws:
IOException
- Thrown if the messenger cannot be constructed for this destination.
getLogicalDestinationImpl
public EndpointAddress getLogicalDestinationImpl()
- Obtain the logical destination address from the implementer (a transport for example).
- Specified by:
getLogicalDestinationImpl
in class BlockingMessenger
closeImpl
public void closeImpl()
- Close connection. May fail current send.
- Specified by:
closeImpl
in class BlockingMessenger
isIdleImpl
public boolean isIdleImpl()
- return true if this messenger has not been used for a long time. The definition of long time is: "sufficient such that closing it
is worth the cost of having to re-open". A messenger should self close if it thinks it meets the definition of
idle. BlockingMessenger leaves the evaluation to the transport but does the work automatically. Important: if
self destruction is used, this method must work; not just return false. See the constructor. In general, if closeImpl does
not need to do anything, then self destruction is not needed.
- Specified by:
isIdleImpl
in class BlockingMessenger
- Returns:
true
if theis messenger is, by it's own definition, idle.
sendMessageBImpl
public void sendMessageBImpl(Message message,
String service,
String serviceParam)
throws IOException
- Send a message blocking as needed until the message is sent.
- Specified by:
sendMessageBImpl
in class BlockingMessenger
- Parameters:
message
- The message to send.service
- The destination service.serviceParam
- The destination serivce param.
- Throws:
IOException
- Thrown for errors encountered while sending the message.