org.objectweb.jonathan.libs.binding.echannel
Class EBinder
java.lang.Object
|
+--org.objectweb.jonathan.libs.binding.echannel.EBinder
- All Implemented Interfaces:
- NamingContext
- public class EBinder
- extends Object
- implements NamingContext
EBinder is a binder allowing the construction of Event Channels
following a publish-subscribe interaction style.
EBinder is currently hardwired to work with the RTP protocol on top
of Multicast IP. Thus, it offers an unreliable and unordered event
disseminations service.
|
Inner Class Summary |
class |
EBinder.EId
EId is an indentifier representing an event channel of a given type and
relying on a given multicast address and port. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
EBinder
public EBinder(ChunkFactory chunk_factory,
MarshallerFactory marshaller_factory,
NamingContext context,
StubFactory stub_factory)
- Builds a new EBinder instance
- Parameters:
chunk_factory - the chunk factory that the EBinder will use to
construct messagesmarshaller_factory - the MarshallerFactory that the EBinder will use
to build messagescontext - the NamingContext which uses this EBinderstub_factory - the StubFactory to be used by this EBinder
export
public Identifier export(Object itf,
Context hints)
- This operation has no meaning in this context: an InternalException is
always thrown.
- Specified by:
export in interface NamingContext
- Parameters:
itf - hints - - Returns:
- never.
bindConsumer
public void bindConsumer(Session_Low consumer,
EBinder.EId channel)
throws JonathanException
- Binds a new consumer to an event channel
- Parameters:
consumer - the interface of the consumer object to be added to the
event channelchannel - the identifier representing the event channel- Throws:
JonathanException - thrown if the bind operation fails
decode
public Identifier decode(byte[] data,
int offset,
int length)
throws JonathanException
- Decode an indentifier (an EId) representing an event channel out of the
supplied array of bytes
- Specified by:
decode in interface NamingContext
- Parameters:
data - the array of bytes from which to decode the identifieroffset - the offset in bytes from which to start the decodinglength - the length in bytes of the portion of the byte array to decode- Returns:
- an identifier representing the event channel
- Throws:
JonathanException - thrown if the decoding fails
decode
public Identifier decode(UnMarshaller u)
throws JonathanException
- Decodes an identifier from the provided unmarshaller.
- Specified by:
decode in interface NamingContext
- Parameters:
u - an unmarhaller;- Returns:
- an identifier managed by the target naming context;
- Throws:
JonathanException - if something goes wrong.
newId
public EBinder.EId newId(String address,
int port,
String type)
throws JonathanException
- Builds a new identifier representing an event channel of a given type
and relying on a givent multicast address and port
- Parameters:
address - the multicast IP address of the event channelport - the port number of the channeltype - the type of the channel- Returns:
- an identifier representing the event channel
- Throws:
JonathanException - thrown if the identifier cannot be
constructed with the parameters provided