com.aelitis.azureus.core.dht.transport.loopback
Class DHTTransportLoopbackImpl

java.lang.Object
  extended by com.aelitis.azureus.core.dht.transport.loopback.DHTTransportLoopbackImpl
All Implemented Interfaces:
DHTTransport

public class DHTTransportLoopbackImpl
extends Object
implements DHTTransport

Author:
parg

Field Summary
static int FAIL_PERCENTAGE
           
static int LATENCY
           
static byte VERSION
           
 
Fields inherited from interface com.aelitis.azureus.core.dht.transport.DHTTransport
GF_DHT_SLEEPING, GF_NONE
 
Constructor Summary
DHTTransportLoopbackImpl(int _id_byte_length)
           
 
Method Summary
 void addListener(DHTTransportListener l)
           
 void exportContact(DHTTransportContact contact, DataOutputStream os)
           
 Map<String,Object> exportContactToMap(DHTTransportContact contact)
           
protected  DHTTransportLoopbackImpl findTarget(byte[] id)
           
 byte getGenericFlags()
           
 DHTTransportContact getLocalContact()
          Gives access to the node ID for this transport
 byte getMinimumProtocolVersion()
           
 int getNetwork()
           
static DHTTransportStats getOverallStats()
           
 int getPort()
           
 byte getProtocolVersion()
           
 DHTTransportContact[] getReachableContacts()
           
 DHTTransportContact[] getRecentContacts()
           
protected  DHTTransportRequestHandler getRequestHandler()
           
 DHTTransportStats getStats()
           
 long getTimeout()
           
 DHTTransportContact importContact(DataInputStream is, boolean is_bootstrap)
           
 boolean isIPV6()
           
 boolean isReachable()
           
 byte[] readTransfer(DHTTransportProgressListener listener, DHTTransportContact target, byte[] handler_key, byte[] key, long timeout)
           
 void registerTransferHandler(byte[] handler_key, DHTTransportTransferHandler handler)
           
 void registerTransferHandler(byte[] handler_key, DHTTransportTransferHandler handler, Map<String,Object> options)
           
 void removeContact(DHTTransportContact contact)
           
 void removeListener(DHTTransportListener l)
           
protected  void run(AERunnable r)
           
 void sendFindNode(DHTTransportContact contact, DHTTransportReplyHandler handler, byte[] nid)
           
 void sendFindNodeSupport(DHTTransportContact contact, DHTTransportReplyHandler handler, byte[] nid)
           
 void sendFindValue(DHTTransportContact contact, DHTTransportReplyHandler handler, byte[] key, int max, short flags)
           
 void sendFindValueSupport(DHTTransportContact contact, DHTTransportReplyHandler handler, byte[] key, int max, short flags)
           
 void sendKeyBlock(DHTTransportContact contact, DHTTransportReplyHandler handler, byte[] request, byte[] sig)
           
 void sendKeyBlockSupport(DHTTransportContact contact, DHTTransportReplyHandler handler, byte[] request, byte[] sig)
           
 void sendPing(DHTTransportContact contact, DHTTransportReplyHandler handler)
           
 void sendPingSupport(DHTTransportContact contact, DHTTransportReplyHandler handler)
           
 void sendQueryStore(DHTTransportContact contact, DHTTransportReplyHandler handler, int header_length, List<Object[]> key_details)
           
 void sendStats(DHTTransportContact contact, DHTTransportReplyHandler handler)
           
 void sendStatsSupport(DHTTransportContact contact, DHTTransportReplyHandler handler)
           
 void sendStore(DHTTransportContact contact, DHTTransportReplyHandler handler, byte[][] keys, DHTTransportValue[][] value_sets, boolean immediate)
           
 void sendStoreSupport(DHTTransportContact contact, DHTTransportReplyHandler handler, byte[][] keys, DHTTransportValue[][] value_sets)
           
static void setFailPercentage(int p)
           
 void setGenericFlag(byte flag, boolean value)
           
static void setLatency(int _latency)
           
 void setPort(int port)
           
 void setRequestHandler(DHTTransportRequestHandler _request_handler)
          Set the handler for incoming requests
 void setSuspended(boolean susp)
           
 void setTimeout(long millis)
           
 boolean supportsStorage()
           
protected  boolean triggerFailure()
           
 void unregisterTransferHandler(byte[] handler_key, DHTTransportTransferHandler handler)
           
 byte[] writeReadTransfer(DHTTransportProgressListener listener, DHTTransportContact target, byte[] handler_key, byte[] data, long timeout)
           
 void writeTransfer(DHTTransportProgressListener listener, DHTTransportContact target, byte[] handler_key, byte[] key, byte[] data, long timeout)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VERSION

public static byte VERSION

LATENCY

public static int LATENCY

FAIL_PERCENTAGE

public static int FAIL_PERCENTAGE
Constructor Detail

DHTTransportLoopbackImpl

public DHTTransportLoopbackImpl(int _id_byte_length)
Method Detail

getProtocolVersion

public byte getProtocolVersion()
Specified by:
getProtocolVersion in interface DHTTransport

getMinimumProtocolVersion

public byte getMinimumProtocolVersion()
Specified by:
getMinimumProtocolVersion in interface DHTTransport

getNetwork

public int getNetwork()
Specified by:
getNetwork in interface DHTTransport

isIPV6

public boolean isIPV6()
Specified by:
isIPV6 in interface DHTTransport

setLatency

public static void setLatency(int _latency)

setFailPercentage

public static void setFailPercentage(int p)

getOverallStats

public static DHTTransportStats getOverallStats()

getLocalContact

public DHTTransportContact getLocalContact()
Description copied from interface: DHTTransport
Gives access to the node ID for this transport

Specified by:
getLocalContact in interface DHTTransport
Returns:

setPort

public void setPort(int port)
Specified by:
setPort in interface DHTTransport

getPort

public int getPort()
Specified by:
getPort in interface DHTTransport

getGenericFlags

public byte getGenericFlags()
Specified by:
getGenericFlags in interface DHTTransport

setGenericFlag

public void setGenericFlag(byte flag,
                           boolean value)
Specified by:
setGenericFlag in interface DHTTransport

setSuspended

public void setSuspended(boolean susp)
Specified by:
setSuspended in interface DHTTransport

getTimeout

public long getTimeout()
Specified by:
getTimeout in interface DHTTransport

setTimeout

public void setTimeout(long millis)
Specified by:
setTimeout in interface DHTTransport

isReachable

public boolean isReachable()
Specified by:
isReachable in interface DHTTransport

getReachableContacts

public DHTTransportContact[] getReachableContacts()
Specified by:
getReachableContacts in interface DHTTransport

getRecentContacts

public DHTTransportContact[] getRecentContacts()
Specified by:
getRecentContacts in interface DHTTransport

findTarget

protected DHTTransportLoopbackImpl findTarget(byte[] id)

setRequestHandler

public void setRequestHandler(DHTTransportRequestHandler _request_handler)
Description copied from interface: DHTTransport
Set the handler for incoming requests

Specified by:
setRequestHandler in interface DHTTransport

getRequestHandler

protected DHTTransportRequestHandler getRequestHandler()

exportContactToMap

public Map<String,Object> exportContactToMap(DHTTransportContact contact)

exportContact

public void exportContact(DHTTransportContact contact,
                          DataOutputStream os)
                   throws IOException
Throws:
IOException

importContact

public DHTTransportContact importContact(DataInputStream is,
                                         boolean is_bootstrap)
                                  throws IOException
Specified by:
importContact in interface DHTTransport
Throws:
IOException

removeContact

public void removeContact(DHTTransportContact contact)

run

protected void run(AERunnable r)

getStats

public DHTTransportStats getStats()
Specified by:
getStats in interface DHTTransport

sendPing

public void sendPing(DHTTransportContact contact,
                     DHTTransportReplyHandler handler)

sendPingSupport

public void sendPingSupport(DHTTransportContact contact,
                            DHTTransportReplyHandler handler)

sendKeyBlock

public void sendKeyBlock(DHTTransportContact contact,
                         DHTTransportReplyHandler handler,
                         byte[] request,
                         byte[] sig)

sendKeyBlockSupport

public void sendKeyBlockSupport(DHTTransportContact contact,
                                DHTTransportReplyHandler handler,
                                byte[] request,
                                byte[] sig)

sendStats

public void sendStats(DHTTransportContact contact,
                      DHTTransportReplyHandler handler)

sendStatsSupport

public void sendStatsSupport(DHTTransportContact contact,
                             DHTTransportReplyHandler handler)

sendStore

public void sendStore(DHTTransportContact contact,
                      DHTTransportReplyHandler handler,
                      byte[][] keys,
                      DHTTransportValue[][] value_sets,
                      boolean immediate)

sendStoreSupport

public void sendStoreSupport(DHTTransportContact contact,
                             DHTTransportReplyHandler handler,
                             byte[][] keys,
                             DHTTransportValue[][] value_sets)

sendQueryStore

public void sendQueryStore(DHTTransportContact contact,
                           DHTTransportReplyHandler handler,
                           int header_length,
                           List<Object[]> key_details)

sendFindNode

public void sendFindNode(DHTTransportContact contact,
                         DHTTransportReplyHandler handler,
                         byte[] nid)

sendFindNodeSupport

public void sendFindNodeSupport(DHTTransportContact contact,
                                DHTTransportReplyHandler handler,
                                byte[] nid)

sendFindValue

public void sendFindValue(DHTTransportContact contact,
                          DHTTransportReplyHandler handler,
                          byte[] key,
                          int max,
                          short flags)

sendFindValueSupport

public void sendFindValueSupport(DHTTransportContact contact,
                                 DHTTransportReplyHandler handler,
                                 byte[] key,
                                 int max,
                                 short flags)

triggerFailure

protected boolean triggerFailure()

registerTransferHandler

public void registerTransferHandler(byte[] handler_key,
                                    DHTTransportTransferHandler handler)
Specified by:
registerTransferHandler in interface DHTTransport

registerTransferHandler

public void registerTransferHandler(byte[] handler_key,
                                    DHTTransportTransferHandler handler,
                                    Map<String,Object> options)
Specified by:
registerTransferHandler in interface DHTTransport

unregisterTransferHandler

public void unregisterTransferHandler(byte[] handler_key,
                                      DHTTransportTransferHandler handler)
Specified by:
unregisterTransferHandler in interface DHTTransport

readTransfer

public byte[] readTransfer(DHTTransportProgressListener listener,
                           DHTTransportContact target,
                           byte[] handler_key,
                           byte[] key,
                           long timeout)
                    throws DHTTransportException
Specified by:
readTransfer in interface DHTTransport
Throws:
DHTTransportException

writeTransfer

public void writeTransfer(DHTTransportProgressListener listener,
                          DHTTransportContact target,
                          byte[] handler_key,
                          byte[] key,
                          byte[] data,
                          long timeout)
                   throws DHTTransportException
Specified by:
writeTransfer in interface DHTTransport
Throws:
DHTTransportException

writeReadTransfer

public byte[] writeReadTransfer(DHTTransportProgressListener listener,
                                DHTTransportContact target,
                                byte[] handler_key,
                                byte[] data,
                                long timeout)
                         throws DHTTransportException
Specified by:
writeReadTransfer in interface DHTTransport
Throws:
DHTTransportException

supportsStorage

public boolean supportsStorage()
Specified by:
supportsStorage in interface DHTTransport

addListener

public void addListener(DHTTransportListener l)
Specified by:
addListener in interface DHTTransport

removeListener

public void removeListener(DHTTransportListener l)
Specified by:
removeListener in interface DHTTransport