net.tomp2p.p2p
Class DistributedHashTable
java.lang.Object
  
net.tomp2p.p2p.DistributedHashTable
public class DistributedHashTable
- extends Object
 
 
 
| 
Method Summary | 
 FutureDHT | 
add(Number160 locationKey,
    Number160 domainKey,
    Collection<Data> dataSet,
    RoutingConfiguration routingConfiguration,
    RequestP2PConfiguration p2pConfiguration,
    boolean protectDomain,
    boolean signMessage,
    boolean isManualCleanup,
    boolean list,
    FutureCreate<FutureDHT> futureCreate,
    FutureChannelCreator futureChannelCreator,
    ConnectionReservation connectionReservation)
 
            | 
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,
       boolean manualCleanup,
       FutureChannelCreator futureChannelCreator,
       ConnectionReservation connectionReservation)
 
            | 
 FutureDHT | 
get(Number160 locationKey,
    Number160 domainKey,
    Collection<Number160> contentKeys,
    SimpleBloomFilter<Number160> keyBloomFilter,
    SimpleBloomFilter<Number160> contentBloomFilter,
    RoutingConfiguration routingConfiguration,
    RequestP2PConfiguration p2pConfiguration,
    EvaluatingSchemeDHT evaluationScheme,
    boolean signMessage,
    boolean digest,
    boolean returnBloomFilter,
    boolean range,
    boolean isManualCleanup,
    FutureChannelCreator futureChannelCreator,
    ConnectionReservation connectionReservation)
 
            | 
 FutureDHT | 
parallelRequests(RequestP2PConfiguration p2pConfiguration,
                 NavigableSet<PeerAddress> queue,
                 boolean cancleOnFinish,
                 FutureChannelCreator futureChannelCreator,
                 ConnectionReservation connectionReservation,
                 boolean manualCleanup,
                 DistributedHashTable.Operation operation)
 
          Creates RPCs and executes them parallel. | 
 FutureDHT | 
put(Number160 locationKey,
    Number160 domainKey,
    Map<Number160,Data> dataMap,
    RoutingConfiguration routingConfiguration,
    RequestP2PConfiguration p2pConfiguration,
    boolean putIfAbsent,
    boolean protectDomain,
    boolean signMessage,
    boolean isManualCleanup,
    FutureCreate<FutureDHT> futureCreate,
    FutureChannelCreator futureChannelCreator,
    ConnectionReservation connectionReservation)
 
            | 
 FutureDHT | 
remove(Number160 locationKey,
       Number160 domainKey,
       Collection<Number160> contentKeys,
       RoutingConfiguration routingConfiguration,
       RequestP2PConfiguration p2pConfiguration,
       boolean returnResults,
       boolean signMessage,
       boolean isManualCleanup,
       FutureCreate<FutureDHT> futureCreate,
       FutureChannelCreator futureChannelCreator,
       ConnectionReservation connectionReservation)
 
            | 
 
| Methods inherited from class java.lang.Object | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
DistributedHashTable
public DistributedHashTable(DistributedRouting routing,
                            StorageRPC storeRCP,
                            DirectDataRPC directDataRPC)
add
public FutureDHT add(Number160 locationKey,
                     Number160 domainKey,
                     Collection<Data> dataSet,
                     RoutingConfiguration routingConfiguration,
                     RequestP2PConfiguration p2pConfiguration,
                     boolean protectDomain,
                     boolean signMessage,
                     boolean isManualCleanup,
                     boolean list,
                     FutureCreate<FutureDHT> futureCreate,
                     FutureChannelCreator futureChannelCreator,
                     ConnectionReservation connectionReservation)
 
direct
public FutureDHT direct(Number160 locationKey,
                        org.jboss.netty.buffer.ChannelBuffer buffer,
                        boolean raw,
                        RoutingConfiguration routingConfiguration,
                        RequestP2PConfiguration p2pConfiguration,
                        FutureCreate<FutureDHT> futureCreate,
                        boolean cancelOnFinish,
                        boolean manualCleanup,
                        FutureChannelCreator futureChannelCreator,
                        ConnectionReservation connectionReservation)
 
put
public FutureDHT put(Number160 locationKey,
                     Number160 domainKey,
                     Map<Number160,Data> dataMap,
                     RoutingConfiguration routingConfiguration,
                     RequestP2PConfiguration p2pConfiguration,
                     boolean putIfAbsent,
                     boolean protectDomain,
                     boolean signMessage,
                     boolean isManualCleanup,
                     FutureCreate<FutureDHT> futureCreate,
                     FutureChannelCreator futureChannelCreator,
                     ConnectionReservation connectionReservation)
 
get
public FutureDHT get(Number160 locationKey,
                     Number160 domainKey,
                     Collection<Number160> contentKeys,
                     SimpleBloomFilter<Number160> keyBloomFilter,
                     SimpleBloomFilter<Number160> contentBloomFilter,
                     RoutingConfiguration routingConfiguration,
                     RequestP2PConfiguration p2pConfiguration,
                     EvaluatingSchemeDHT evaluationScheme,
                     boolean signMessage,
                     boolean digest,
                     boolean returnBloomFilter,
                     boolean range,
                     boolean isManualCleanup,
                     FutureChannelCreator futureChannelCreator,
                     ConnectionReservation connectionReservation)
 
remove
public FutureDHT remove(Number160 locationKey,
                        Number160 domainKey,
                        Collection<Number160> contentKeys,
                        RoutingConfiguration routingConfiguration,
                        RequestP2PConfiguration p2pConfiguration,
                        boolean returnResults,
                        boolean signMessage,
                        boolean isManualCleanup,
                        FutureCreate<FutureDHT> futureCreate,
                        FutureChannelCreator futureChannelCreator,
                        ConnectionReservation connectionReservation)
 
parallelRequests
public FutureDHT parallelRequests(RequestP2PConfiguration p2pConfiguration,
                                  NavigableSet<PeerAddress> queue,
                                  boolean cancleOnFinish,
                                  FutureChannelCreator futureChannelCreator,
                                  ConnectionReservation connectionReservation,
                                  boolean manualCleanup,
                                  DistributedHashTable.Operation operation)
- Creates RPCs and executes them parallel.
- Parameters:
 p2pConfiguration - The configuration that specifies e.g. how many parallel requests there are.queue - The sorted set that will be queries. The first RPC takes the first in the queue.futureDHT - The future object that tracks the progresscancleOnFinish - Set to true if the operation should be canceled (e.g. file transfer) if the future has
            finished.operation - The operation that creates the request
 
 
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 resultdirectHitsDigest - The digest information from the routing process
- Returns:
 - The new RequestP2PConfiguration with the new minimum result
 
 
 
Copyright © 2013. All Rights Reserved.