com.aelitis.azureus.core.dht.transport.util
Class DHTTransferHandler

java.lang.Object
  extended by com.aelitis.azureus.core.dht.transport.util.DHTTransferHandler

public class DHTTransferHandler
extends Object


Nested Class Summary
static interface DHTTransferHandler.Adapter
           
static class DHTTransferHandler.Packet
           
protected  class DHTTransferHandler.transferHandlerInterceptor
           
protected  class DHTTransferHandler.transferQueue
           
 
Constructor Summary
DHTTransferHandler(DHTTransferHandler.Adapter _adapter, int _max_data, DHTLogger _logger)
           
DHTTransferHandler(DHTTransferHandler.Adapter _adapter, int _max_data, float _latency_indicator, DHTLogger _logger)
           
 
Method Summary
protected  String getMessageText(String resource, 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)
           
protected  DHTTransferHandler.transferQueue lookupTransferQueue(Map<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, Map<String,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)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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,
                                    Map<String,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

writeReadTransfer

public byte[] writeReadTransfer(DHTTransportProgressListener listener,
                                DHTTransportContact target,
                                byte[] transfer_key,
                                byte[] data,
                                long timeout)
                         throws DHTTransportException
Throws:
DHTTransportException

lookupTransferQueue

protected DHTTransferHandler.transferQueue lookupTransferQueue(Map<Long,DHTTransferHandler.transferQueue> transfers,
                                                               long id)

getMessageText

protected String getMessageText(String resource,
                                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)