Package org.jgroups.mux
Class Multiplexer
java.lang.Object
org.jgroups.mux.Multiplexer
- All Implemented Interfaces:
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:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
close()
void
closeAll()
createMuxChannel
(String id, String stack_name) protected ThreadPoolExecutor
Deprecated.Use ${link #getServiceIds()} insteadlong
long
void
registerForStateTransfer
(String appl_id, String substate_id) protected MuxChannel
removeService
(String id) void
setServiceAckTimeout
(long service_ack_timeout) void
setServicesResponseTimeout
(long services_rsp_timeout) protected void
Remove mux header and dispatch to correct MuxChannel
-
Field Details
-
service_ack_timeout
protected long service_ack_timeout
-
-
Constructor Details
-
Multiplexer
-
-
Method Details
-
getApplicationIds
Deprecated.Use ${link #getServiceIds()} instead- Returns:
- The set of service IDs
-
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
-
createThreadPool
-
shutdownThreadPool
protected void shutdownThreadPool() -
up
Remove mux header and dispatch to correct MuxChannel -
createMuxChannel
- Throws:
Exception
-
removeService
-
close
public boolean close() -
closeAll
public void closeAll()
-