net.tomp2p.p2p
Class DistributedHashHashMap

java.lang.Object
  extended by net.tomp2p.p2p.DistributedHashHashMap

public class DistributedHashHashMap
extends Object


Nested Class Summary
static interface DistributedHashHashMap.Operation
           
 
Constructor Summary
DistributedHashHashMap(DistributedRouting routing, StorageRPC store, DirectDataRPC directDataRPC)
           
 
Method Summary
 FutureDHT add(Number160 locationKey, Number160 domainKey, Collection<Data> dataSet, RoutingConfiguration routingConfiguration, RequestP2PConfiguration p2pConfiguration, boolean protectDomain, boolean signMessage, FutureCreate<FutureDHT> futureCreate, ChannelCreator cc)
           
static RequestP2PConfiguration adjustConfiguration(RequestP2PConfiguration p2pConfiguration, SortedMap<PeerAddress,DigestInfo> directHitsDigest)
          Adjusts the number of minimum requests in the P2P configuration.
 FutureDHT direct(Number160 locationKey, org.jboss.netty.buffer.ChannelBuffer buffer, boolean raw, RoutingConfiguration routingConfiguration, RequestP2PConfiguration p2pConfiguration, FutureCreate<FutureDHT> futureCreate, boolean cancelOnFinish, ChannelCreator cc)
           
 FutureDHT get(Number160 locationKey, Number160 domainKey, Set<Number160> contentKeys, PublicKey publicKey, RoutingConfiguration routingConfiguration, RequestP2PConfiguration p2pConfiguration, EvaluatingSchemeDHT evaluationScheme, boolean signMessage, ChannelCreator cc)
           
 FutureDHT put(Number160 locationKey, Number160 domainKey, Map<Number160,Data> dataMap, RoutingConfiguration routingConfiguration, RequestP2PConfiguration p2pConfiguration, boolean putIfAbsent, boolean protectDomain, boolean signMessage, FutureCreate<FutureDHT> futureCreate, ChannelCreator cc)
           
 FutureDHT remove(Number160 locationKey, Number160 domainKey, Set<Number160> contentKeys, RoutingConfiguration routingConfiguration, RequestP2PConfiguration p2pConfiguration, boolean returnResults, boolean signMessage, FutureCreate<FutureDHT> futureCreate, ChannelCreator cc)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DistributedHashHashMap

public DistributedHashHashMap(DistributedRouting routing,
                              StorageRPC store,
                              DirectDataRPC directDataRPC)
Method Detail

add

public FutureDHT add(Number160 locationKey,
                     Number160 domainKey,
                     Collection<Data> dataSet,
                     RoutingConfiguration routingConfiguration,
                     RequestP2PConfiguration p2pConfiguration,
                     boolean protectDomain,
                     boolean signMessage,
                     FutureCreate<FutureDHT> futureCreate,
                     ChannelCreator cc)

direct

public FutureDHT direct(Number160 locationKey,
                        org.jboss.netty.buffer.ChannelBuffer buffer,
                        boolean raw,
                        RoutingConfiguration routingConfiguration,
                        RequestP2PConfiguration p2pConfiguration,
                        FutureCreate<FutureDHT> futureCreate,
                        boolean cancelOnFinish,
                        ChannelCreator cc)

put

public FutureDHT put(Number160 locationKey,
                     Number160 domainKey,
                     Map<Number160,Data> dataMap,
                     RoutingConfiguration routingConfiguration,
                     RequestP2PConfiguration p2pConfiguration,
                     boolean putIfAbsent,
                     boolean protectDomain,
                     boolean signMessage,
                     FutureCreate<FutureDHT> futureCreate,
                     ChannelCreator cc)

get

public FutureDHT get(Number160 locationKey,
                     Number160 domainKey,
                     Set<Number160> contentKeys,
                     PublicKey publicKey,
                     RoutingConfiguration routingConfiguration,
                     RequestP2PConfiguration p2pConfiguration,
                     EvaluatingSchemeDHT evaluationScheme,
                     boolean signMessage,
                     ChannelCreator cc)

remove

public FutureDHT remove(Number160 locationKey,
                        Number160 domainKey,
                        Set<Number160> contentKeys,
                        RoutingConfiguration routingConfiguration,
                        RequestP2PConfiguration p2pConfiguration,
                        boolean returnResults,
                        boolean signMessage,
                        FutureCreate<FutureDHT> futureCreate,
                        ChannelCreator cc)

adjustConfiguration

public static RequestP2PConfiguration adjustConfiguration(RequestP2PConfiguration p2pConfiguration,
                                                          SortedMap<PeerAddress,DigestInfo> directHitsDigest)
Adjusts the number of minimum requests in the P2P configuration. When we query x peers for the get() operation and they have y different data stored (y <= x), then set the minimum to y or to the value the user set if its smaller. If no data is found, then return 0, so we don't start P2P RPCs.

Parameters:
p2pConfiguration - The old P2P configuration with the user specified minimum result
directHitsDigest - The digest information from the routing process
Returns:
The new RequestP2PConfiguration with the new minimum result


Copyright © 2011. All Rights Reserved.