org.jgroups.mux
Class Multiplexer
java.lang.Object
org.jgroups.mux.Multiplexer
- All Implemented Interfaces:
- UpHandler
public class Multiplexer
- extends java.lang.Object
- implements UpHandler
The multiplexer allows multiple channel interfaces to be associated with one
underlying instance of JChannel.
The multiplexer is essentially a building block residing on top of a JChannel
providing multiplexing functionality to N instances of MuxChannel. Since
MuxChannel extends the JGroups JChannel class, user applications are
completely unaware of this change in the underlying plumbing.
Each JGroups application sharing a channel through a multiplexer has to
create a MuxChannel with a unique application id. The multiplexer keeps track
of all registered applications and tags messages belonging to a specific
application with that id for sent messages. When receiving a message from a
remote peer, the multiplexer will dispatch a message to the appropriate
MuxChannel depending on the id attached to the message.
- Version:
- $Id: Multiplexer.java,v 1.85.2.17 2009/03/16 21:18:41 vlada Exp $
- Author:
- Bela Ban, Vladimir Blagojevic
- See Also:
MuxChannel
,
Channel
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
service_ack_timeout
protected long service_ack_timeout
Multiplexer
public Multiplexer(JChannel channel)
getApplicationIds
public java.util.Set getApplicationIds()
- Deprecated. Use ${link #getServiceIds()} instead
- Returns:
- The set of service IDs
getServiceIds
public java.util.Set<java.lang.String> getServiceIds()
getServicesResponseTimeout
public long getServicesResponseTimeout()
setServicesResponseTimeout
public void setServicesResponseTimeout(long services_rsp_timeout)
getServiceAckTimeout
public long getServiceAckTimeout()
setServiceAckTimeout
public void setServiceAckTimeout(long service_ack_timeout)
registerForStateTransfer
public void registerForStateTransfer(java.lang.String appl_id,
java.lang.String substate_id)
createThreadPool
protected java.util.concurrent.ThreadPoolExecutor createThreadPool()
shutdownThreadPool
protected void shutdownThreadPool()
up
public java.lang.Object up(Event evt)
- Remove mux header and dispatch to correct MuxChannel
- Specified by:
up
in interface UpHandler
- Parameters:
evt
-
- Returns:
createMuxChannel
public Channel createMuxChannel(java.lang.String id,
java.lang.String stack_name)
throws java.lang.Exception
- Throws:
java.lang.Exception
removeService
protected MuxChannel removeService(java.lang.String id)
close
public boolean close()
closeAll
public void closeAll()
Copyright ? 1998-2008 Bela Ban. All Rights Reserved.