net.tomp2p.rpc
Class TaskRPC

java.lang.Object
  extended by org.jboss.netty.channel.SimpleChannelHandler
      extended by net.tomp2p.rpc.ReplyHandler
          extended by net.tomp2p.rpc.TaskRPC
All Implemented Interfaces:
org.jboss.netty.channel.ChannelDownstreamHandler, org.jboss.netty.channel.ChannelHandler, org.jboss.netty.channel.ChannelUpstreamHandler

public class TaskRPC
extends ReplyHandler


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.jboss.netty.channel.ChannelHandler
org.jboss.netty.channel.ChannelHandler.Sharable
 
Constructor Summary
TaskRPC(PeerBean peerBean, ConnectionBean connectionBean, TaskManager taskManager)
           
 
Method Summary
 boolean checkMessage(Message message)
          Before a reply can be done, the message needs to be checked.
 Message handleResponse(Message message, boolean sign)
          If the message is OK, that has been previously checked by the user using checkMessage, a reply to the message is generated here.
 FutureResponse task(PeerAddress remotePeer, ChannelCreator channelCreator, Number160 taskID, Map<Number160,Data> dataMap, Mapper mapper, KeyPair keyPair, boolean forceUDP)
          Sends a task to a remote peer.
 FutureResponse taskStatus(PeerAddress remotePeer, ChannelCreator channelCreator, Collection<Number160> taskIDs, boolean forceTCP)
           
 
Methods inherited from class net.tomp2p.rpc.ReplyHandler
createMessage, exceptionCaught, forwardMessage, registerIoHandler, setSignReply
 
Methods inherited from class org.jboss.netty.channel.SimpleChannelHandler
bindRequested, channelBound, channelClosed, channelConnected, channelDisconnected, channelInterestChanged, channelOpen, channelUnbound, childChannelClosed, childChannelOpen, closeRequested, connectRequested, disconnectRequested, handleDownstream, handleUpstream, messageReceived, setInterestOpsRequested, unbindRequested, writeComplete, writeRequested
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TaskRPC

public TaskRPC(PeerBean peerBean,
               ConnectionBean connectionBean,
               TaskManager taskManager)
Method Detail

task

public FutureResponse task(PeerAddress remotePeer,
                           ChannelCreator channelCreator,
                           Number160 taskID,
                           Map<Number160,Data> dataMap,
                           Mapper mapper,
                           KeyPair keyPair,
                           boolean forceUDP)
Sends a task to a remote peer. This is an RPC.

Parameters:
remotePeer - The remote peer to send this request
channelCreator - The channel creator that creates connections
forceTCP - Set to true if the communication should be TCP, default is UDP
Returns:
The future response to keep track of future events

taskStatus

public FutureResponse taskStatus(PeerAddress remotePeer,
                                 ChannelCreator channelCreator,
                                 Collection<Number160> taskIDs,
                                 boolean forceTCP)

checkMessage

public boolean checkMessage(Message message)
Description copied from class: ReplyHandler
Before a reply can be done, the message needs to be checked. If you return false, then the peer is removed from the map and the channel is closed.

Specified by:
checkMessage in class ReplyHandler
Parameters:
message - Request message
Returns:
True if a request should be generated, false if channel should be closed and nothing should be replied

handleResponse

public Message handleResponse(Message message,
                              boolean sign)
                       throws Exception
Description copied from class: ReplyHandler
If the message is OK, that has been previously checked by the user using checkMessage, a reply to the message is generated here.

Specified by:
handleResponse in class ReplyHandler
Parameters:
message - Request message
Throws:
Exception


Copyright © 2012. All Rights Reserved.