## org.jgroups.blocks.mux
Class MuxRpcDispatcher

    java.lang.Object
      org.jgroups.blocks.MessageDispatcher
          org.jgroups.blocks.RpcDispatcher
              org.jgroups.blocks.mux.MuxRpcDispatcher

All Implemented Interfaces:
  RequestHandler, ChannelListener

    public class MuxRpcDispatcher

extends RpcDispatcher

A multiplexed message dispatcher. When used in conjunction with a MuxUpHandler, allows multiple dispatchers to use the same channel.
Usage:
`Channel c = new JChannel(...);
c.setUpHandler(new MuxUpHandler());
RpcDispatcher d1 = new MuxRpcDispatcher((short) 1, c, ...);
RpcDispatcher d2 = new MuxRpcDispatcher((short) 2, c, ...);
c.connect(...);
`

Author:
  Bela Ban, Paul Ferraro

Nested Class Summary

Nested classes/interfaces inherited from class org.jgroups.blocks.RpcDispatcher
`RpcDispatcher.Marshaller, RpcDispatcher.Marshaller2, RpcDispatcher.MarshallerAdapter`

Field Summary

Fields inherited from class org.jgroups.blocks.RpcDispatcher
`additionalChannelListeners, method_lookup, req_marshaller, rsp_marshaller, server_obj`

Fields inherited from class org.jgroups.blocks.MessageDispatcher
`adapter, channel, corr, handler, hardware_multicast_supported, id, local_addr, log, members, membership_listener, msg_listener, prot_adapter, req_handler, transport_adapter`

Constructor Summary
`MuxRpcDispatcher(short scopeId)`
`MuxRpcDispatcher(short scopeId, Channel channel, MessageListener messageListener, MembershipListener membershipListener, java.lang.Object serverObject)`

Method Summary
`protected GroupRequest` `cast(java.util.Collection<Address> dests, Message msg, RequestOptions options, boolean blockForResults)`
`protected RequestCorrelator` `createRequestCorrelator(java.lang.Object transport, RequestHandler handler, Address localAddr)`
`void` `start()`
`void` `stop()`

Methods inherited from class org.jgroups.blocks.RpcDispatcher

`addChannelListener, callRemoteMethod, callRemoteMethod, callRemoteMethod, callRemoteMethod, callRemoteMethod, callRemoteMethod, callRemoteMethod, callRemoteMethods, callRemoteMethods, callRemoteMethods, callRemoteMethods, callRemoteMethods, callRemoteMethods, callRemoteMethods, callRemoteMethods, callRemoteMethodsWithFuture, callRemoteMethodsWithFuture, callRemoteMethodsWithFuture, callRemoteMethodWithFuture, callRemoteMethodWithFuture, callRemoteMethodWithFuture, channelClosed, channelConnected, channelDisconnected, channelReconnected, channelShunned, correlatorStarted, getMarshaller, getMethodLookup, getName, getRequestMarshaller, getResponseMarshaller, getServerObject, handle, removeChannelListener, setMarshaller, setMethodLookup, setRequestMarshaller, setResponseMarshaller, setServerObject`

Methods inherited from class org.jgroups.blocks.MessageDispatcher

`castMessage, castMessage, castMessage, castMessage, castMessageWithFuture, castMessageWithFuture, done, getChannel, getConcurrentProcessing, getDeadlockDetection, getMembers, getMessageListener, getProtocolAdapter, installUpHandler, send, sendMessage, sendMessage, sendMessageWithFuture, sendMessageWithFuture, setChannel, setConcurrentProcessing, setDeadlockDetection, setMembershipListener, setMessageListener, setRequestHandler`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### MuxRpcDispatcher

    public MuxRpcDispatcher(short scopeId)

### MuxRpcDispatcher

    public MuxRpcDispatcher(short scopeId,
                            Channel channel,
                            MessageListener messageListener,
                            MembershipListener membershipListener,
                            java.lang.Object serverObject)

Method Detail

### createRequestCorrelator

    protected RequestCorrelator createRequestCorrelator(java.lang.Object transport,
                                                        RequestHandler handler,
                                                        Address localAddr)

  Overrides:
    `createRequestCorrelator` in class `MessageDispatcher`

### start

    public void start()

  Overrides:
    `start` in class `MessageDispatcher`

### stop

    public void stop()

  Overrides:
    `stop` in class `MessageDispatcher`

### cast

    protected GroupRequest cast(java.util.Collection<Address> dests,
                                Message msg,
                                RequestOptions options,
                                boolean blockForResults)

  Overrides:
    `cast` in class `MessageDispatcher`

Copyright © 1998-2009 Bela Ban / Red Hat. All Rights Reserved.