com.aelitis.azureus.core.networkmanager
Interface NetworkConnection

All Superinterfaces:
NetworkConnectionBase
All Known Implementing Classes:
NetworkConnectionImpl

public interface NetworkConnection
extends NetworkConnectionBase

Represents a managed network connection, over which messages can be sent and received.


Nested Class Summary
static interface NetworkConnection.ConnectionListener
          Listener for notification of connection events.
 
Method Summary
 void close(String reason)
          Close and shutdown this connection.
 void connect(ByteBuffer initial_outbound_data, int priority, NetworkConnection.ConnectionListener listener)
           
 void connect(int priority, NetworkConnection.ConnectionListener listener)
          Connect this connection's transport, i.e.
 Transport detachTransport()
          Decouples the transport from this network connection so it can be reused
 void enableEnhancedMessageProcessing(boolean enable, int partition_id)
          Upgrade the connection to high-speed transfer processing.
 Transport getTransport()
          Get the connection's data transport interface.
 Object getUserData(Object key)
           
 boolean isConnected()
           
 Object setUserData(Object key, Object value)
           
 void startMessageProcessing()
          Begin processing incoming and outgoing message queues.
 
Methods inherited from interface com.aelitis.azureus.core.networkmanager.NetworkConnectionBase
addRateLimiter, getDownloadLimit, getEndpoint, getIncomingMessageQueue, getMssSize, getOutgoingMessageQueue, getRateLimiters, getString, getTransportBase, getUploadLimit, isIncoming, isLANLocal, notifyOfException, removeRateLimiter, setDownloadLimit, setUploadLimit
 

Method Detail

connect

void connect(int priority,
             NetworkConnection.ConnectionListener listener)
Connect this connection's transport, i.e. establish the network connection. If this connection is already established (from an incoming connection for example), then this provides a mechanism to register the connection listener, in which case connectSuccess() will be called immediately.

Parameters:
listener - notified on connect success or failure

connect

void connect(ByteBuffer initial_outbound_data,
             int priority,
             NetworkConnection.ConnectionListener listener)

close

void close(String reason)
Close and shutdown this connection.


startMessageProcessing

void startMessageProcessing()
Begin processing incoming and outgoing message queues.

Parameters:
upload_group - upload rate limit group to use
download_group - download rate limit group to use

enableEnhancedMessageProcessing

void enableEnhancedMessageProcessing(boolean enable,
                                     int partition_id)
Upgrade the connection to high-speed transfer processing.

Parameters:
enable - true for high-speed processing, false for normal processing

detachTransport

Transport detachTransport()
Decouples the transport from this network connection so it can be reused

Returns:
null if detach failed

getTransport

Transport getTransport()
Get the connection's data transport interface.

Returns:
the transport - MAY BE NULL if not yet fully connected

isConnected

boolean isConnected()

setUserData

Object setUserData(Object key,
                   Object value)

getUserData

Object getUserData(Object key)