Class HTTPNetworkConnection
- java.lang.Object
-
- com.biglybt.core.networkmanager.impl.http.HTTPNetworkConnection
-
- Direct Known Subclasses:
HTTPNetworkConnectionFile
,HTTPNetworkConnectionWebSeed
public abstract class HTTPNetworkConnection extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interface
HTTPNetworkConnection.flushListener
protected static class
HTTPNetworkConnection.httpRequest
protected class
HTTPNetworkConnection.networkConnectionKey
private static class
HTTPNetworkConnection.pendingRequest
protected static interface
HTTPNetworkConnection.requestListener
-
Field Summary
-
Constructor Summary
Constructors Modifier Constructor Description protected
HTTPNetworkConnection(HTTPNetworkManager _manager, NetworkConnection _connection, PEPeerTransport _peer)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
addBTRequest(BTRequest request, HTTPNetworkConnection.httpRequest http_request)
protected void
addRequest(HTTPNetworkConnection.httpRequest request)
protected static boolean
checkConnections(java.util.List<HTTPNetworkConnection> connections)
protected void
close(java.lang.String reason)
protected abstract void
decodeHeader(HTTPMessageDecoder decoder, java.lang.String header)
protected void
destroy()
protected RawMessage
encodeBitField()
protected RawMessage
encodeChoke()
protected RawMessage
encodeHandShake(Message message)
protected java.lang.String
encodeHeader(HTTPNetworkConnection.httpRequest request)
protected RawMessage[]
encodePiece(Message message)
protected RawMessage
encodeUnchoke()
protected void
flushRequests(HTTPNetworkConnection.flushListener l)
protected void
flushRequestsSupport(HTTPNetworkConnection.flushListener l)
protected NetworkConnection
getConnection()
protected RawMessage
getEmptyRawMessage(Message message)
protected HTTPNetworkManager
getManager()
protected PEPeerTransport
getPeer()
protected PEPeerControl
getPeerControl()
protected int
getRequestCount()
protected long
getTimeSinceLastActivity()
protected boolean
isClosing()
protected boolean
isSeed()
protected void
log(java.lang.String str)
protected void
readWakeup()
protected void
sendAndClose(java.lang.String data)
protected void
setContentType(java.lang.String ct)
protected void
submitBTRequests()
-
-
-
Field Detail
-
LOGID
protected static final LogIDs LOGID
-
MAX_OUTSTANDING_BT_REQUESTS
private static final int MAX_OUTSTANDING_BT_REQUESTS
- See Also:
- Constant Field Values
-
NL
protected static final java.lang.String NL
- See Also:
- Constant Field Values
-
HDR_SERVER
private static final java.lang.String HDR_SERVER
- See Also:
- Constant Field Values
-
HDR_KEEP_ALIVE_TIMEOUT
private static final java.lang.String HDR_KEEP_ALIVE_TIMEOUT
- See Also:
- Constant Field Values
-
HDR_CACHE_CONTROL
private static final java.lang.String HDR_CACHE_CONTROL
- See Also:
- Constant Field Values
-
DEFAULT_CONTENT_TYPE
private static final java.lang.String DEFAULT_CONTENT_TYPE
-
max_read_block_size
static int max_read_block_size
-
TIMEOUT_CHECK_PERIOD
private static final int TIMEOUT_CHECK_PERIOD
- See Also:
- Constant Field Values
-
DEAD_CONNECTION_TIMEOUT_PERIOD
private static final int DEAD_CONNECTION_TIMEOUT_PERIOD
- See Also:
- Constant Field Values
-
MAX_CON_PER_ENDPOINT
private static final int MAX_CON_PER_ENDPOINT
- See Also:
- Constant Field Values
-
http_connection_map
static final java.util.Map<HTTPNetworkConnection.networkConnectionKey,java.util.List<HTTPNetworkConnection>> http_connection_map
-
manager
private final HTTPNetworkManager manager
-
connection
final NetworkConnection connection
-
peer
final PEPeerTransport peer
-
decoder
private final HTTPMessageDecoder decoder
-
encoder
private final HTTPMessageEncoder encoder
-
sent_handshake
private boolean sent_handshake
-
peer_id
private final byte[] peer_id
-
choked
private boolean choked
-
http_requests
private final java.util.List<HTTPNetworkConnection.httpRequest> http_requests
-
choked_requests
private final java.util.List<BTRequest> choked_requests
-
outstanding_requests
private final java.util.List<HTTPNetworkConnection.pendingRequest> outstanding_requests
-
piece_map
private final java.util.BitSet piece_map
-
last_http_activity_time
private long last_http_activity_time
-
network_connection_key
private final HTTPNetworkConnection.networkConnectionKey network_connection_key
-
closing
private boolean closing
-
destroyed
private boolean destroyed
-
last_modified_date
private final java.lang.String last_modified_date
-
content_type
private java.lang.String content_type
-
request_listeners
CopyOnWriteList<HTTPNetworkConnection.requestListener> request_listeners
-
-
Constructor Detail
-
HTTPNetworkConnection
protected HTTPNetworkConnection(HTTPNetworkManager _manager, NetworkConnection _connection, PEPeerTransport _peer)
-
-
Method Detail
-
checkConnections
protected static boolean checkConnections(java.util.List<HTTPNetworkConnection> connections)
-
isSeed
protected boolean isSeed()
-
setContentType
protected void setContentType(java.lang.String ct)
-
getManager
protected HTTPNetworkManager getManager()
-
getConnection
protected NetworkConnection getConnection()
-
getPeer
protected PEPeerTransport getPeer()
-
getPeerControl
protected PEPeerControl getPeerControl()
-
encodeChoke
protected RawMessage encodeChoke()
-
encodeUnchoke
protected RawMessage encodeUnchoke()
-
encodeBitField
protected RawMessage encodeBitField()
-
readWakeup
protected void readWakeup()
-
encodeHandShake
protected RawMessage encodeHandShake(Message message)
-
decodeHeader
protected abstract void decodeHeader(HTTPMessageDecoder decoder, java.lang.String header) throws java.io.IOException
- Throws:
java.io.IOException
-
encodeHeader
protected java.lang.String encodeHeader(HTTPNetworkConnection.httpRequest request)
-
addRequest
protected void addRequest(HTTPNetworkConnection.httpRequest request) throws java.io.IOException
- Throws:
java.io.IOException
-
submitBTRequests
protected void submitBTRequests() throws java.io.IOException
- Throws:
java.io.IOException
-
addBTRequest
protected void addBTRequest(BTRequest request, HTTPNetworkConnection.httpRequest http_request) throws java.io.IOException
- Throws:
java.io.IOException
-
encodePiece
protected RawMessage[] encodePiece(Message message)
-
getRequestCount
protected int getRequestCount()
-
isClosing
protected boolean isClosing()
-
close
protected void close(java.lang.String reason)
-
destroy
protected void destroy()
-
getTimeSinceLastActivity
protected long getTimeSinceLastActivity()
-
log
protected void log(java.lang.String str)
-
getEmptyRawMessage
protected RawMessage getEmptyRawMessage(Message message)
-
sendAndClose
protected void sendAndClose(java.lang.String data)
-
flushRequests
protected void flushRequests(HTTPNetworkConnection.flushListener l)
-
flushRequestsSupport
protected void flushRequestsSupport(HTTPNetworkConnection.flushListener l)
-
-