Class DHTTransportLoopbackImpl
java.lang.Object
com.biglybt.core.dht.transport.loopback.DHTTransportLoopbackImpl
- All Implemented Interfaces:
DHTTransport
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final AEMonitor(package private) static final List(package private) static final AESemaphorestatic intprivate final intstatic intprivate final Listprivate DHTTransportContactprivate byte[]private static longprivate static final Mapprivate DHTTransportRequestHandlerprivate final DHTTransportStatsImplstatic final byteFields inherited from interface DHTTransport
GF_DHT_SLEEPING, GF_NONE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidexportContact(DHTTransportContact contact, DataOutputStream os) exportContactToMap(DHTTransportContact contact) protected DHTTransportLoopbackImplfindTarget(byte[] id) byteGives access to the node ID for this transportbyteintstatic DHTTransportStatsintgetPort()byteprotected DHTTransportRequestHandlergetStats()longimportContact(DataInputStream is, boolean is_bootstrap) booleanisIPV6()booleanbyte[]readTransfer(DHTTransportProgressListener listener, DHTTransportContact target, byte[] handler_key, byte[] key, long timeout) voidregisterTransferHandler(byte[] handler_key, DHTTransportTransferHandler handler) voidregisterTransferHandler(byte[] handler_key, DHTTransportTransferHandler handler, Map<String, Object> options) voidremoveContact(DHTTransportContact contact) voidprotected voidrun(AERunnable r) voidsendFindNode(DHTTransportContact contact, DHTTransportReplyHandler handler, byte[] nid) voidsendFindNodeSupport(DHTTransportContact contact, DHTTransportReplyHandler handler, byte[] nid) voidsendFindValue(DHTTransportContact contact, DHTTransportReplyHandler handler, byte[] key, int max, short flags) voidsendFindValueSupport(DHTTransportContact contact, DHTTransportReplyHandler handler, byte[] key, int max, short flags) voidsendKeyBlock(DHTTransportContact contact, DHTTransportReplyHandler handler, byte[] request, byte[] sig) voidsendKeyBlockSupport(DHTTransportContact contact, DHTTransportReplyHandler handler, byte[] request, byte[] sig) voidsendPing(DHTTransportContact contact, DHTTransportReplyHandler handler) voidsendPingSupport(DHTTransportContact contact, DHTTransportReplyHandler handler) voidsendQueryStore(DHTTransportContact contact, DHTTransportReplyHandler handler, int header_length, List<Object[]> key_details) voidsendStats(DHTTransportContact contact, DHTTransportReplyHandler handler) voidsendStatsSupport(DHTTransportContact contact, DHTTransportReplyHandler handler) voidsendStore(DHTTransportContact contact, DHTTransportReplyHandler handler, byte[][] keys, DHTTransportValue[][] value_sets, boolean immediate) voidsendStoreSupport(DHTTransportContact contact, DHTTransportReplyHandler handler, byte[][] keys, DHTTransportValue[][] value_sets) static voidsetFailPercentage(int p) voidsetGenericFlag(byte flag, boolean value) static voidsetLatency(int _latency) voidsetPort(int port) voidsetRequestHandler(DHTTransportRequestHandler _request_handler) Set the handler for incoming requestsvoidsetSuspended(boolean susp) voidsetTimeout(long millis) booleanprotected booleanvoidunregisterTransferHandler(byte[] handler_key, DHTTransportTransferHandler handler) byte[]writeReadTransfer(DHTTransportProgressListener listener, DHTTransportContact target, byte[] handler_key, byte[] data, long timeout) voidwriteTransfer(DHTTransportProgressListener listener, DHTTransportContact target, byte[] handler_key, byte[] key, byte[] data, long timeout) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface DHTTransport
getCurrentBindAddress, getExplicitBindAddress, setExplicitBindAddress
-
Field Details
-
VERSION
public static final byte VERSION- See Also:
-
LATENCY
public static int LATENCY -
FAIL_PERCENTAGE
public static int FAIL_PERCENTAGE -
node_id_seed_next
private static long node_id_seed_next -
node_map
-
dispatch_queue
-
dispatch_queue_sem
-
class_mon
-
node_id
private byte[] node_id -
local_contact
-
id_byte_length
private final int id_byte_length -
request_handler
-
stats
-
listeners
-
-
Constructor Details
-
DHTTransportLoopbackImpl
public DHTTransportLoopbackImpl(int _id_byte_length)
-
-
Method Details
-
getProtocolVersion
public byte getProtocolVersion()- Specified by:
getProtocolVersionin interfaceDHTTransport
-
getMinimumProtocolVersion
public byte getMinimumProtocolVersion()- Specified by:
getMinimumProtocolVersionin interfaceDHTTransport
-
getNetwork
public int getNetwork()- Specified by:
getNetworkin interfaceDHTTransport
-
isIPV6
public boolean isIPV6()- Specified by:
isIPV6in interfaceDHTTransport
-
setLatency
public static void setLatency(int _latency) -
setFailPercentage
public static void setFailPercentage(int p) -
getOverallStats
-
getLocalContact
Description copied from interface:DHTTransportGives access to the node ID for this transport- Specified by:
getLocalContactin interfaceDHTTransport- Returns:
-
setPort
public void setPort(int port) - Specified by:
setPortin interfaceDHTTransport
-
getPort
public int getPort()- Specified by:
getPortin interfaceDHTTransport
-
getGenericFlags
public byte getGenericFlags()- Specified by:
getGenericFlagsin interfaceDHTTransport
-
setGenericFlag
public void setGenericFlag(byte flag, boolean value) - Specified by:
setGenericFlagin interfaceDHTTransport
-
setSuspended
public void setSuspended(boolean susp) - Specified by:
setSuspendedin interfaceDHTTransport
-
getTimeout
public long getTimeout()- Specified by:
getTimeoutin interfaceDHTTransport
-
setTimeout
public void setTimeout(long millis) - Specified by:
setTimeoutin interfaceDHTTransport
-
isReachable
public boolean isReachable()- Specified by:
isReachablein interfaceDHTTransport
-
getReachableContacts
- Specified by:
getReachableContactsin interfaceDHTTransport
-
getRecentContacts
- Specified by:
getRecentContactsin interfaceDHTTransport
-
findTarget
-
setRequestHandler
Description copied from interface:DHTTransportSet the handler for incoming requests- Specified by:
setRequestHandlerin interfaceDHTTransport- Parameters:
_request_handler-
-
getRequestHandler
-
exportContactToMap
-
exportContact
- Throws:
IOException
-
importContact
public DHTTransportContact importContact(DataInputStream is, boolean is_bootstrap) throws IOException - Specified by:
importContactin interfaceDHTTransport- Throws:
IOException
-
removeContact
-
run
-
getStats
- Specified by:
getStatsin interfaceDHTTransport
-
sendPing
-
sendPingSupport
-
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
-
sendStatsSupport
-
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
-
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
- Specified by:
registerTransferHandlerin interfaceDHTTransport
-
registerTransferHandler
public void registerTransferHandler(byte[] handler_key, DHTTransportTransferHandler handler, Map<String, Object> options) - Specified by:
registerTransferHandlerin interfaceDHTTransport
-
unregisterTransferHandler
- Specified by:
unregisterTransferHandlerin interfaceDHTTransport
-
readTransfer
public byte[] readTransfer(DHTTransportProgressListener listener, DHTTransportContact target, byte[] handler_key, byte[] key, long timeout) throws DHTTransportException - Specified by:
readTransferin interfaceDHTTransport- Throws:
DHTTransportException
-
writeTransfer
public void writeTransfer(DHTTransportProgressListener listener, DHTTransportContact target, byte[] handler_key, byte[] key, byte[] data, long timeout) throws DHTTransportException - Specified by:
writeTransferin interfaceDHTTransport- Throws:
DHTTransportException
-
writeReadTransfer
public byte[] writeReadTransfer(DHTTransportProgressListener listener, DHTTransportContact target, byte[] handler_key, byte[] data, long timeout) throws DHTTransportException - Specified by:
writeReadTransferin interfaceDHTTransport- Throws:
DHTTransportException
-
supportsStorage
public boolean supportsStorage()- Specified by:
supportsStoragein interfaceDHTTransport
-
addListener
- Specified by:
addListenerin interfaceDHTTransport
-
removeListener
- Specified by:
removeListenerin interfaceDHTTransport
-