net.tomp2p.rpc
Class StorageRPC

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

public class StorageRPC
extends ReplyHandler


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.jboss.netty.channel.ChannelHandler
org.jboss.netty.channel.ChannelHandler.Sharable
 
Constructor Summary
StorageRPC(PeerBean peerBean, ConnectionBean connectionBean)
           
 
Method Summary
 FutureResponse add(PeerAddress remoteNode, Number160 locationKey, Number160 domainKey, Collection<Data> dataSet, boolean protectDomain, boolean signMessage, ChannelCreator channelCreator)
           
 boolean checkMessage(Message message)
          Before a reply can be done, the message needs to be checked.
 FutureResponse get(PeerAddress remoteNode, Number160 locationKey, Number160 domainKey, Collection<Number160> contentKeys, PublicKey protectedDomains, boolean signMessage, boolean digest, ChannelCreator channelCreator)
          Starts an RPC to get the data from a remote peer.
 PeerAddress getPeerAddress()
           
 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 put(PeerAddress remoteNode, Number160 locationKey, Number160 domainKey, Map<Number160,Data> dataMap, boolean protectDomain, boolean protectEntry, boolean signMessage, ChannelCreator channelCreator)
           
 FutureResponse putIfAbsent(PeerAddress remoteNode, Number160 locationKey, Number160 domainKey, Map<Number160,Data> dataMap, boolean protectDomain, boolean protectEntry, boolean signMessage, ChannelCreator channelCreator)
           
 FutureResponse remove(PeerAddress remoteNode, Number160 locationKey, Number160 domainKey, Collection<Number160> contentKeys, boolean sendBackResults, boolean signMessage, ChannelCreator channelCreator)
           
 
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

StorageRPC

public StorageRPC(PeerBean peerBean,
                  ConnectionBean connectionBean)
Method Detail

getPeerAddress

public PeerAddress getPeerAddress()

put

public FutureResponse put(PeerAddress remoteNode,
                          Number160 locationKey,
                          Number160 domainKey,
                          Map<Number160,Data> dataMap,
                          boolean protectDomain,
                          boolean protectEntry,
                          boolean signMessage,
                          ChannelCreator channelCreator)

putIfAbsent

public FutureResponse putIfAbsent(PeerAddress remoteNode,
                                  Number160 locationKey,
                                  Number160 domainKey,
                                  Map<Number160,Data> dataMap,
                                  boolean protectDomain,
                                  boolean protectEntry,
                                  boolean signMessage,
                                  ChannelCreator channelCreator)

add

public FutureResponse add(PeerAddress remoteNode,
                          Number160 locationKey,
                          Number160 domainKey,
                          Collection<Data> dataSet,
                          boolean protectDomain,
                          boolean signMessage,
                          ChannelCreator channelCreator)

get

public FutureResponse get(PeerAddress remoteNode,
                          Number160 locationKey,
                          Number160 domainKey,
                          Collection<Number160> contentKeys,
                          PublicKey protectedDomains,
                          boolean signMessage,
                          boolean digest,
                          ChannelCreator channelCreator)
Starts an RPC to get the data from a remote peer.

Parameters:
remoteNode - The remote peer to send this request
locationKey - The location key
domainKey - The domain key
contentKeys - The content keys or null if requested all
protectedDomains - Add the public key to protect the domain. In order to make this work, the message needs to be signed
signMessage - Adds a public key and signs the message
digest - Returns a list of hashes of the data stored on this peer
channelCreator - The channel creator that creates connections. Typically we need one connection here.
Returns:
The future response to keep track of future events

remove

public FutureResponse remove(PeerAddress remoteNode,
                             Number160 locationKey,
                             Number160 domainKey,
                             Collection<Number160> contentKeys,
                             boolean sendBackResults,
                             boolean signMessage,
                             ChannelCreator channelCreator)

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 IOException
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:
IOException


Copyright © 2011. All Rights Reserved.