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 final byte VERSION
See Also:
Constant Field Values

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