org.infinispan.remoting.transport.jgroups
Class CommandAwareRpcDispatcher

java.lang.Object
  extended by org.jgroups.blocks.MessageDispatcher
      extended by org.jgroups.blocks.RpcDispatcher
          extended by org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher
All Implemented Interfaces:
org.jgroups.blocks.RequestHandler, org.jgroups.ChannelListener

public class CommandAwareRpcDispatcher
extends org.jgroups.blocks.RpcDispatcher

A JGroups RPC dispatcher that knows how to deal with ReplicableCommands.

Since:
4.0
Author:
Manik Surtani (manik@jboss.org)

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jgroups.blocks.RpcDispatcher
org.jgroups.blocks.RpcDispatcher.Marshaller, org.jgroups.blocks.RpcDispatcher.Marshaller2, org.jgroups.blocks.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, members, membership_listener, msg_listener, prot_adapter, req_handler, transport_adapter
 
Constructor Summary
CommandAwareRpcDispatcher(org.jgroups.Channel channel, JGroupsTransport transport, ExecutorService asyncExecutor, InboundInvocationHandler inboundInvocationHandler, JGroupsDistSync distributedSync, long distributedSyncTimeout)
           
 
Method Summary
 Object handle(org.jgroups.Message req)
          Message contains a Command.
 org.jgroups.util.RspList invokeRemoteCommands(Vector<org.jgroups.Address> dests, ReplicableCommand command, int mode, long timeout, boolean anycasting, boolean oob, org.jgroups.blocks.RspFilter filter, boolean supportReplay, boolean asyncMarshalling, boolean broadcast)
           
protected  boolean isValid(org.jgroups.Message req)
           
 String toString()
           
 
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, removeChannelListener, setMarshaller, setMethodLookup, setRequestMarshaller, setResponseMarshaller, setServerObject
 
Methods inherited from class org.jgroups.blocks.MessageDispatcher
cast, castMessage, castMessage, castMessage, castMessage, castMessageWithFuture, castMessageWithFuture, createRequestCorrelator, done, getChannel, getConcurrentProcessing, getDeadlockDetection, getMembers, getMessageListener, getProtocolAdapter, installUpHandler, send, sendMessage, sendMessage, sendMessageWithFuture, sendMessageWithFuture, setChannel, setConcurrentProcessing, setDeadlockDetection, setMembershipListener, setMessageListener, setRequestHandler, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CommandAwareRpcDispatcher

public CommandAwareRpcDispatcher(org.jgroups.Channel channel,
                                 JGroupsTransport transport,
                                 ExecutorService asyncExecutor,
                                 InboundInvocationHandler inboundInvocationHandler,
                                 JGroupsDistSync distributedSync,
                                 long distributedSyncTimeout)
Method Detail

isValid

protected final boolean isValid(org.jgroups.Message req)

invokeRemoteCommands

public org.jgroups.util.RspList invokeRemoteCommands(Vector<org.jgroups.Address> dests,
                                                     ReplicableCommand command,
                                                     int mode,
                                                     long timeout,
                                                     boolean anycasting,
                                                     boolean oob,
                                                     org.jgroups.blocks.RspFilter filter,
                                                     boolean supportReplay,
                                                     boolean asyncMarshalling,
                                                     boolean broadcast)
                                              throws NotSerializableException,
                                                     ExecutionException,
                                                     InterruptedException
Throws:
NotSerializableException
ExecutionException
InterruptedException

handle

public Object handle(org.jgroups.Message req)
Message contains a Command. Execute it against *this* object and return result.

Specified by:
handle in interface org.jgroups.blocks.RequestHandler
Overrides:
handle in class org.jgroups.blocks.RpcDispatcher

toString

public String toString()
Overrides:
toString in class Object

-->

Copyright © 2011 JBoss, a division of Red Hat. All Rights Reserved.