org.objectweb.dream.protocol.messagePassing
Class ReliableMessagePassingProtocolImpl
java.lang.Object
org.objectweb.dream.AbstractComponent
org.objectweb.dream.protocol.messagePassing.ReliableMessagePassingProtocolImpl
- All Implemented Interfaces:
- ContextualBindingController, NeedAsyncStartController, PrepareStopLifeCycleController, Loggable, MessagePassingProtocol, ReliableMessagePassingProtocol, Protocol, BindingController, LifeCycleController
public class ReliableMessagePassingProtocolImpl
- extends AbstractComponent
- implements ReliableMessagePassingProtocol
Implementation of a reliable bus protocol. This implementation manage a
retransmission list for every destinations known as down. A
destination is known as down if an IOPushException
is caught while
pushing a message to it. A periodic task is in charge of trying to retransmit
failed messages.
Since a destination is down only if an exception is caught, this protocol
should be used over the UDPProtocol
to make it reliable. But, it may
be used over MessagePassingOverChannelImpl
protocol.
Methods inherited from class org.objectweb.dream.AbstractComponent |
beforeFirstStart, bindFc, getFcNeedAsyncStart, getFcState, initComponent, lookupFc, prepareStopFc, setLogger, startFc, stopFc, unbindFc |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
lowerLevelProtocolItf
protected MessagePassingProtocol lowerLevelProtocolItf
messageManagerItf
protected MessageManager messageManagerItf
ReliableMessagePassingProtocolImpl
public ReliableMessagePassingProtocolImpl()
export
public MessagePassingOutgoingPush export(IncomingPush incomingPushItf,
Map<String,Object> hints)
throws ExportException
- Description copied from interface:
MessagePassingProtocol
- Creates an access point and returns an interface that can be used to send
messages through it. Messages received on this access point will be passed
to the given
IncomingPush
interface.
- Specified by:
export
in interface MessagePassingProtocol
- Parameters:
incomingPushItf
- the interface on which message received on the
created access point will be passed, may be null
.hints
- additional parameters, can be null
.
- Returns:
- an interface which can be used to send messages through the created
access point
- Throws:
ExportException
- if the export process fails.- See Also:
MessagePassingProtocol.export(IncomingPush, Map)
createExportIdentifier
public ExportIdentifier createExportIdentifier(Map<String,Object> info,
ExportIdentifier[] next)
throws InvalidExportIdentifierException
- Description copied from interface:
Protocol
- Creates a new export identifier with the provided info
- Specified by:
createExportIdentifier
in interface Protocol
- Parameters:
info
- the info used to create the export identifier.next
- the export identifier of the lower level protocols.
- Returns:
- a new export identifier.
- Throws:
InvalidExportIdentifierException
- if the export identifier can't be
created.- See Also:
Protocol.createExportIdentifier(Map, ExportIdentifier[])
listFc
public String[] listFc()
- Specified by:
listFc
in interface BindingController
- See Also:
BindingController.listFc()
bindFc
public void bindFc(String clientItfName,
Object serverItf)
throws NoSuchInterfaceException,
IllegalBindingException,
IllegalLifeCycleException
- Specified by:
bindFc
in interface BindingController
- Overrides:
bindFc
in class AbstractComponent
- Throws:
NoSuchInterfaceException
IllegalBindingException
IllegalLifeCycleException
- See Also:
BindingController.bindFc(String,
Object)
Copyright © 2003, 2005 - INRIA Rhone-Alpes - All Rights Reserved.