net.tomp2p.storage
Interface Storage

All Superinterfaces:
Digest, ReplicationStorage
All Known Implementing Classes:
StorageDisk, StorageGeneric, StorageMemory

public interface Storage
extends Digest, ReplicationStorage


Method Summary
 void addTimeout(Number160 locationKey, Number160 domainKey, Number160 contentKey, long expiration)
           
 void close()
           
 boolean contains(Number160 locationKey, Number160 domainKey, Number160 contentKey)
           
 Data get(Number160 locationKey, Number160 domainKey, Number160 contentKey)
           
 boolean isDomainProtectedByOthers(Number160 locationKey, Number160 domainKey, PublicKey publicKey)
           
 NavigableMap<Number480,Data> map()
          The storage is typically backed by multiple Java collections (HashMap, TreeMap, etc.).
 boolean protectDomain(Number160 locationKey, Number160 domainKey, PublicKey publicKey)
           
 boolean put(Number160 locationKey, Number160 domainKey, Number160 contentKey, Data value)
           
 Data remove(Number160 locationKey, Number160 domainKey, Number160 contentKey)
           
 void removeTimeout(Number160 locationKey, Number160 domainKey, Number160 contentKey)
           
 Map<Number480,Data> subMap(Number160 locationKey)
           
 SortedMap<Number480,Data> subMap(Number160 locationKey, Number160 domainKey, Number160 fromContentKey, Number160 toContentKey)
           
 Collection<Number480> subMapTimeout(long to)
           
 
Methods inherited from interface net.tomp2p.storage.Digest
digest, digest
 
Methods inherited from interface net.tomp2p.storage.ReplicationStorage
findContentForResponsiblePeerID, findPeerIDForResponsibleContent, removeResponsibility, updateResponsibilities
 

Method Detail

put

boolean put(Number160 locationKey,
            Number160 domainKey,
            Number160 contentKey,
            Data value)

get

Data get(Number160 locationKey,
         Number160 domainKey,
         Number160 contentKey)

contains

boolean contains(Number160 locationKey,
                 Number160 domainKey,
                 Number160 contentKey)

remove

Data remove(Number160 locationKey,
            Number160 domainKey,
            Number160 contentKey)

subMap

SortedMap<Number480,Data> subMap(Number160 locationKey,
                                 Number160 domainKey,
                                 Number160 fromContentKey,
                                 Number160 toContentKey)

subMap

Map<Number480,Data> subMap(Number160 locationKey)

map

NavigableMap<Number480,Data> map()
The storage is typically backed by multiple Java collections (HashMap, TreeMap, etc.). This map returns the map that stores the values which are present in the DHT. If you plan to do transactions (put/get), make sure you do the locking in order to not interfere with other threads that use this map. Although the storage is threadsafe, there may be concurrency issues with respect to transactions (e.g., do a get before a put). Please use StorageGeneric.getLockStorage() for full locking, and StorageGeneric.getLockNumber160(), StorageGeneric.getLockNumber320(), StorageGeneric.getLockNumber480() for fine grained locking.

Returns:
The backing dataMap

close

void close()

addTimeout

void addTimeout(Number160 locationKey,
                Number160 domainKey,
                Number160 contentKey,
                long expiration)

removeTimeout

void removeTimeout(Number160 locationKey,
                   Number160 domainKey,
                   Number160 contentKey)

subMapTimeout

Collection<Number480> subMapTimeout(long to)

protectDomain

boolean protectDomain(Number160 locationKey,
                      Number160 domainKey,
                      PublicKey publicKey)

isDomainProtectedByOthers

boolean isDomainProtectedByOthers(Number160 locationKey,
                                  Number160 domainKey,
                                  PublicKey publicKey)


Copyright © 2013. All Rights Reserved.