org.jgroups.blocks.mux
Class MuxRpcDispatcher

java.lang.Object
  extended by org.jgroups.blocks.MessageDispatcher
      extended by org.jgroups.blocks.RpcDispatcher
          extended by 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
 
Field Summary
 
Fields inherited from class org.jgroups.blocks.RpcDispatcher
method_lookup, req_marshaller, rsp_marshaller, server_obj
 
Fields inherited from class org.jgroups.blocks.MessageDispatcher
async_anycasts, async_multicasts, async_unicasts, channel, channel_listeners, corr, hardware_multicast_supported, local_addr, log, members, membership_listener, msg_listener, probe_handler, prot_adapter, req_handler, sync_anycasts, sync_multicasts, sync_unicasts
 
Constructor Summary
MuxRpcDispatcher(short scopeId)
           
MuxRpcDispatcher(short scopeId, Channel channel, MessageListener messageListener, MembershipListener membershipListener, java.lang.Object serverObject)
           
MuxRpcDispatcher(short scopeId, Channel channel, MessageListener messageListener, MembershipListener membershipListener, java.lang.Object serverObject, MethodLookup method_lookup)
           
 
Method Summary
protected
<T> GroupRequest<T>
cast(java.util.Collection<Address> dests, Message msg, RequestOptions options, boolean blockForResults)
           
protected  RequestCorrelator createRequestCorrelator(Protocol transport, RequestHandler handler, Address localAddr)
           
 void start()
           
 void stop()
           
 
Methods inherited from class org.jgroups.blocks.RpcDispatcher
callRemoteMethod, callRemoteMethod, callRemoteMethods, callRemoteMethods, callRemoteMethodsWithFuture, callRemoteMethodWithFuture, correlatorStarted, getMarshaller, getMethodLookup, getName, getRequestMarshaller, getResponseMarshaller, getServerObject, handle, setMarshaller, setMethodLookup, setRequestMarshaller, setResponseMarshaller, setServerObject
 
Methods inherited from class org.jgroups.blocks.MessageDispatcher
addChannelListener, castMessage, castMessageWithFuture, channelClosed, channelConnected, channelDisconnected, done, getChannel, getMessageListener, getProtocolAdapter, handleUpEvent, installUpHandler, removeChannelListener, sendMessage, sendMessageWithFuture, setChannel, setMembers, 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)

MuxRpcDispatcher

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

createRequestCorrelator

protected RequestCorrelator createRequestCorrelator(Protocol 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 <T> GroupRequest<T> cast(java.util.Collection<Address> dests,
                                   Message msg,
                                   RequestOptions options,
                                   boolean blockForResults)
                        throws java.lang.Exception
Overrides:
cast in class MessageDispatcher
Throws:
java.lang.Exception


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