Class DHTTransferHandler
- java.lang.Object
-
- com.biglybt.core.dht.transport.util.DHTTransferHandler
-
public class DHTTransferHandler extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
DHTTransferHandler.Adapter
private class
DHTTransferHandler.DHTTransportProgressListenerTRACE
static class
DHTTransferHandler.Packet
protected class
DHTTransferHandler.transferHandlerInterceptor
protected class
DHTTransferHandler.transferQueue
-
Field Summary
-
Constructor Summary
Constructors Constructor Description DHTTransferHandler(DHTTransferHandler.Adapter _adapter, int _max_data, float _latency_indicator, DHTLogger _logger)
DHTTransferHandler(DHTTransferHandler.Adapter _adapter, int _max_data, DHTLogger _logger)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
getMessageText(java.lang.String resource, java.lang.String... params)
protected int
handleTransferRequest(DHTTransportContact target, long connection_id, byte[] transfer_key, byte[] request_key, byte[] data, int start, int length, boolean write_request, boolean first_packet_only)
(package private) void
log(java.lang.String str)
private void
log(java.lang.Throwable e)
protected DHTTransferHandler.transferQueue
lookupTransferQueue(java.util.Map<java.lang.Long,DHTTransferHandler.transferQueue> transfers, long id)
byte[]
readTransfer(DHTTransportProgressListener listener, DHTTransportContact target, byte[] handler_key, byte[] key, long timeout)
void
receivePacket(DHTTransportContact originator, DHTTransferHandler.Packet req)
void
registerTransferHandler(byte[] handler_key, DHTTransportTransferHandler handler)
void
registerTransferHandler(byte[] handler_key, DHTTransportTransferHandler handler, java.util.Map<java.lang.String,java.lang.Object> options)
protected byte[]
runTransferQueue(DHTTransferHandler.transferQueue transfer_queue, DHTTransportProgressListener listener, DHTTransportContact target, byte[] handler_key, byte[] key, long timeout, boolean read_transfer)
void
sendReadReply(long connection_id, DHTTransportContact contact, byte[] transfer_key, byte[] key, byte[] data, int start_position, int length, int total_length)
void
sendReadRequest(long connection_id, DHTTransportContact contact, byte[] transfer_key, byte[] key, int start_pos, int len)
void
sendWriteReply(long connection_id, DHTTransportContact contact, byte[] transfer_key, byte[] key, int start_position, int length)
void
sendWriteRequest(long connection_id, DHTTransportContact contact, byte[] transfer_key, byte[] key, byte[] data, int start_position, int length, int total_length)
void
unregisterTransferHandler(byte[] handler_key, DHTTransportTransferHandler handler)
byte[]
writeReadTransfer(DHTTransportProgressListener listener, DHTTransportContact target, byte[] transfer_key, byte[] data, long timeout)
void
writeTransfer(DHTTransportProgressListener listener, DHTTransportContact target, byte[] handler_key, byte[] key, byte[] data, long timeout)
private void
writeTransfer(DHTTransportProgressListener listener, DHTTransportContact target, long connection_id, byte[] handler_key, byte[] key, byte[] data, long timeout)
-
-
-
Field Detail
-
TRANSFER_QUEUE_MAX
private static final int TRANSFER_QUEUE_MAX
- See Also:
- Constant Field Values
-
MAX_TRANSFER_QUEUE_BYTES
private static final long MAX_TRANSFER_QUEUE_BYTES
- See Also:
- Constant Field Values
-
WRITE_XFER_RESEND_DELAY_BASE
private static final long WRITE_XFER_RESEND_DELAY_BASE
- See Also:
- Constant Field Values
-
READ_XFER_REREQUEST_DELAY_BASE
private static final long READ_XFER_REREQUEST_DELAY_BASE
- See Also:
- Constant Field Values
-
WRITE_REPLY_TIMEOUT_BASE
private static final long WRITE_REPLY_TIMEOUT_BASE
- See Also:
- Constant Field Values
-
WRITE_XFER_RESEND_DELAY
private final long WRITE_XFER_RESEND_DELAY
-
READ_XFER_REREQUEST_DELAY
private final long READ_XFER_REREQUEST_DELAY
-
WRITE_REPLY_TIMEOUT
final long WRITE_REPLY_TIMEOUT
-
XFER_TRACE
private static final boolean XFER_TRACE
- See Also:
- Constant Field Values
-
transfer_handlers
private final java.util.Map<HashWrapper,DHTTransferHandler.transferHandlerInterceptor> transfer_handlers
-
read_transfers
private final java.util.Map<java.lang.Long,DHTTransferHandler.transferQueue> read_transfers
-
write_transfers
private final java.util.Map<java.lang.Long,DHTTransferHandler.transferQueue> write_transfers
-
last_xferq_log
private long last_xferq_log
-
active_write_queue_processor_count
int active_write_queue_processor_count
-
total_bytes_on_transfer_queues
long total_bytes_on_transfer_queues
-
call_transfers
final java.util.Map<HashWrapper,java.lang.Object> call_transfers
-
adapter
private final DHTTransferHandler.Adapter adapter
-
max_data
private final int max_data
-
logger
private final DHTLogger logger
-
this_mon
final AEMonitor this_mon
-
-
Constructor Detail
-
DHTTransferHandler
public DHTTransferHandler(DHTTransferHandler.Adapter _adapter, int _max_data, DHTLogger _logger)
-
DHTTransferHandler
public DHTTransferHandler(DHTTransferHandler.Adapter _adapter, int _max_data, float _latency_indicator, DHTLogger _logger)
-
-
Method Detail
-
registerTransferHandler
public void registerTransferHandler(byte[] handler_key, DHTTransportTransferHandler handler)
-
registerTransferHandler
public void registerTransferHandler(byte[] handler_key, DHTTransportTransferHandler handler, java.util.Map<java.lang.String,java.lang.Object> options)
-
unregisterTransferHandler
public void unregisterTransferHandler(byte[] handler_key, DHTTransportTransferHandler handler)
-
handleTransferRequest
protected int handleTransferRequest(DHTTransportContact target, long connection_id, byte[] transfer_key, byte[] request_key, byte[] data, int start, int length, boolean write_request, boolean first_packet_only) throws DHTTransportException
- Throws:
DHTTransportException
-
receivePacket
public void receivePacket(DHTTransportContact originator, DHTTransferHandler.Packet req)
-
readTransfer
public byte[] readTransfer(DHTTransportProgressListener listener, DHTTransportContact target, byte[] handler_key, byte[] key, long timeout) throws DHTTransportException
- Throws:
DHTTransportException
-
runTransferQueue
protected byte[] runTransferQueue(DHTTransferHandler.transferQueue transfer_queue, DHTTransportProgressListener listener, DHTTransportContact target, byte[] handler_key, byte[] key, long timeout, boolean read_transfer) throws DHTTransportException
- Throws:
DHTTransportException
-
writeTransfer
public void writeTransfer(DHTTransportProgressListener listener, DHTTransportContact target, byte[] handler_key, byte[] key, byte[] data, long timeout) throws DHTTransportException
- Throws:
DHTTransportException
-
writeTransfer
private void writeTransfer(DHTTransportProgressListener listener, DHTTransportContact target, long connection_id, byte[] handler_key, byte[] key, byte[] data, long timeout) throws DHTTransportException
- Throws:
DHTTransportException
-
writeReadTransfer
public byte[] writeReadTransfer(DHTTransportProgressListener listener, DHTTransportContact target, byte[] transfer_key, byte[] data, long timeout) throws DHTTransportException
- Throws:
DHTTransportException
-
lookupTransferQueue
protected DHTTransferHandler.transferQueue lookupTransferQueue(java.util.Map<java.lang.Long,DHTTransferHandler.transferQueue> transfers, long id)
-
getMessageText
protected java.lang.String getMessageText(java.lang.String resource, java.lang.String... params)
-
sendReadRequest
public void sendReadRequest(long connection_id, DHTTransportContact contact, byte[] transfer_key, byte[] key, int start_pos, int len)
-
sendReadReply
public void sendReadReply(long connection_id, DHTTransportContact contact, byte[] transfer_key, byte[] key, byte[] data, int start_position, int length, int total_length)
-
sendWriteRequest
public void sendWriteRequest(long connection_id, DHTTransportContact contact, byte[] transfer_key, byte[] key, byte[] data, int start_position, int length, int total_length)
-
sendWriteReply
public void sendWriteReply(long connection_id, DHTTransportContact contact, byte[] transfer_key, byte[] key, int start_position, int length)
-
log
void log(java.lang.String str)
-
log
private void log(java.lang.Throwable e)
-
-