Class GenericMessageConnectionImpl
- java.lang.Object
-
- com.biglybt.pifimpl.local.messaging.GenericMessageConnectionImpl
-
- All Implemented Interfaces:
GenericMessageConnection
public class GenericMessageConnectionImpl extends java.lang.Object implements GenericMessageConnection
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.biglybt.pif.messaging.generic.GenericMessageConnection
GenericMessageConnection.GenericMessageConnectionPropertyHandler
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
closed
private boolean
closing
private int
connect_method_count
private boolean
connecting
private GenericMessageConnectionAdapter
delegate
private GenericMessageEndpointImpl
endpoint
private java.util.List
inbound_rls
private boolean
incoming
private java.util.List
listeners
private MessageManagerImpl
message_manager
private java.lang.String
msg_desc
private java.lang.String
msg_id
private java.util.List
outbound_rls
(package private) byte[][]
shared_secrets
private int
stream_crypto
private static boolean
TEST_TUNNEL
private static boolean
TRACE
-
Fields inherited from interface com.biglybt.pif.messaging.generic.GenericMessageConnection
TT_INDIRECT, TT_NONE, TT_TCP, TT_UDP
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
GenericMessageConnectionImpl(MessageManagerImpl _message_manager, GenericMessageConnectionAdapter _delegate)
protected
GenericMessageConnectionImpl(MessageManagerImpl _message_manager, java.lang.String _msg_id, java.lang.String _msg_desc, GenericMessageEndpointImpl _endpoint, int _stream_crypto, byte[][] _shared_secrets)
-
Method Summary
-
-
-
Field Detail
-
TRACE
private static final boolean TRACE
- See Also:
- Constant Field Values
-
TEST_TUNNEL
private static final boolean TEST_TUNNEL
- See Also:
- Constant Field Values
-
message_manager
private MessageManagerImpl message_manager
-
msg_id
private java.lang.String msg_id
-
msg_desc
private java.lang.String msg_desc
-
endpoint
private GenericMessageEndpointImpl endpoint
-
stream_crypto
private int stream_crypto
-
shared_secrets
byte[][] shared_secrets
-
incoming
private boolean incoming
-
delegate
private volatile GenericMessageConnectionAdapter delegate
-
closing
private volatile boolean closing
-
closed
private volatile boolean closed
-
connecting
private volatile boolean connecting
-
listeners
private java.util.List listeners
-
connect_method_count
private int connect_method_count
-
inbound_rls
private java.util.List inbound_rls
-
outbound_rls
private java.util.List outbound_rls
-
-
Constructor Detail
-
GenericMessageConnectionImpl
protected GenericMessageConnectionImpl(MessageManagerImpl _message_manager, GenericMessageConnectionAdapter _delegate)
-
GenericMessageConnectionImpl
protected GenericMessageConnectionImpl(MessageManagerImpl _message_manager, java.lang.String _msg_id, java.lang.String _msg_desc, GenericMessageEndpointImpl _endpoint, int _stream_crypto, byte[][] _shared_secrets)
-
-
Method Detail
-
getEndpoint
public GenericMessageEndpoint getEndpoint()
- Specified by:
getEndpoint
in interfaceGenericMessageConnection
-
getStartpoint
public GenericMessageStartpoint getStartpoint()
- Specified by:
getStartpoint
in interfaceGenericMessageConnection
- Returns:
- may be null if unknown
-
getConnection
public Connection getConnection()
- Specified by:
getConnection
in interfaceGenericMessageConnection
-
getMaximumMessageSize
public int getMaximumMessageSize()
- Specified by:
getMaximumMessageSize
in interfaceGenericMessageConnection
-
getType
public java.lang.String getType()
- Specified by:
getType
in interfaceGenericMessageConnection
-
getTransportType
public int getTransportType()
- Specified by:
getTransportType
in interfaceGenericMessageConnection
-
addInboundRateLimiter
public void addInboundRateLimiter(RateLimiter limiter)
- Specified by:
addInboundRateLimiter
in interfaceGenericMessageConnection
-
removeInboundRateLimiter
public void removeInboundRateLimiter(RateLimiter limiter)
- Specified by:
removeInboundRateLimiter
in interfaceGenericMessageConnection
-
addOutboundRateLimiter
public void addOutboundRateLimiter(RateLimiter limiter)
- Specified by:
addOutboundRateLimiter
in interfaceGenericMessageConnection
-
removeOutboundRateLimiter
public void removeOutboundRateLimiter(RateLimiter limiter)
- Specified by:
removeOutboundRateLimiter
in interfaceGenericMessageConnection
-
isIncoming
public boolean isIncoming()
-
getConnectMethodCount
public int getConnectMethodCount()
-
connect
public void connect(GenericMessageConnection.GenericMessageConnectionPropertyHandler ph) throws MessageException
- Specified by:
connect
in interfaceGenericMessageConnection
- Throws:
MessageException
-
setDelegate
protected void setDelegate(GenericMessageConnectionAdapter _delegate)
-
connect
public void connect(java.nio.ByteBuffer initial_data, GenericMessageConnection.GenericMessageConnectionPropertyHandler ph) throws MessageException
Outgoing connection- Parameters:
initial_data
-- Throws:
MessageException
-
connectTCP
protected void connectTCP(java.nio.ByteBuffer initial_data, java.net.InetSocketAddress tcp_ep, GenericMessageConnection.GenericMessageConnectionPropertyHandler ph)
-
connectUDP
protected void connectUDP(java.nio.ByteBuffer initial_data, java.net.InetSocketAddress udp_ep, boolean nat_traversal, GenericMessageConnection.GenericMessageConnectionPropertyHandler ph)
-
connectTunnel
protected void connectTunnel(java.nio.ByteBuffer initial_data, GenericMessageEndpoint ep, java.net.InetSocketAddress rendezvous, java.net.InetSocketAddress target, GenericMessageConnection.GenericMessageConnectionPropertyHandler ph)
-
accepted
protected void accepted()
Incoming connection has been accepted
-
send
public void send(PooledByteBuffer message) throws MessageException
- Specified by:
send
in interfaceGenericMessageConnection
- Throws:
MessageException
-
receive
protected void receive(GenericMessage message)
-
closing
public void closing()
-
close
public void close() throws MessageException
- Specified by:
close
in interfaceGenericMessageConnection
- Throws:
MessageException
-
reportConnected
protected void reportConnected()
-
reportFailed
protected void reportFailed(java.lang.Throwable e)
-
addListener
public void addListener(GenericMessageConnectionListener listener)
- Specified by:
addListener
in interfaceGenericMessageConnection
-
removeListener
public void removeListener(GenericMessageConnectionListener listener)
- Specified by:
removeListener
in interfaceGenericMessageConnection
-
-