Class UDPTransportHelper
- java.lang.Object
-
- com.biglybt.core.networkmanager.impl.udp.UDPTransportHelper
-
- All Implemented Interfaces:
TransportHelper
public class UDPTransportHelper extends java.lang.Object implements TransportHelper
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.biglybt.core.networkmanager.impl.TransportHelper
TransportHelper.selectListener
-
-
Field Summary
Fields Modifier and Type Field Description private java.net.InetSocketAddress
address
private boolean
closed
static int
CONNECT_TIMEOUT
private UDPConnection
connection
private java.io.IOException
failed
private boolean
incoming
private UDPConnectionManager
manager
private java.nio.ByteBuffer[]
pending_partial_writes
private java.lang.Object
read_attachment
private TransportHelper.selectListener
read_listener
private boolean
read_selects_paused
static int
READ_TIMEOUT
private UDPSelector
selector
private UDPTransport
transport
private java.util.Map
user_data
private java.lang.Object
write_attachment
private TransportHelper.selectListener
write_listener
private boolean
write_selects_paused
-
Constructor Summary
Constructors Constructor Description UDPTransportHelper(UDPConnectionManager _manager, java.net.InetSocketAddress _address, UDPConnection _connection)
UDPTransportHelper(UDPConnectionManager _manager, java.net.InetSocketAddress _address, UDPTransport _transport)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cancelReadSelects()
void
cancelWriteSelects()
protected void
canRead()
protected void
canWrite()
void
close(java.lang.String reason)
boolean
delayWrite(java.nio.ByteBuffer buffer)
void
failed(java.lang.Throwable reason)
protected void
fireReadSelect()
protected void
fireWriteSelect()
java.net.InetSocketAddress
getAddress()
protected UDPConnection
getConnection()
int
getConnectTimeout()
protected int
getMss()
java.lang.String
getName(boolean verbose)
int
getReadTimeout()
protected UDPTransport
getTransport()
java.lang.Object
getUserData(java.lang.Object key)
boolean
hasDelayedWrite()
boolean
isClosed()
boolean
isIncoming()
boolean
minimiseOverheads()
void
pauseReadSelects()
void
pauseWriteSelects()
protected void
poll()
int
read(java.nio.ByteBuffer buffer)
long
read(java.nio.ByteBuffer[] buffers, int array_offset, int length)
void
registerForReadSelects(TransportHelper.selectListener listener, java.lang.Object attachment)
void
registerForWriteSelects(TransportHelper.selectListener listener, java.lang.Object attachment)
void
resumeReadSelects()
void
resumeWriteSelects()
void
setScatteringMode(long forBytes)
void
setTrace(boolean on)
protected void
setTransport(UDPTransport _transport)
void
setUserData(java.lang.Object key, java.lang.Object data)
long
write(java.nio.ByteBuffer[] buffers, int array_offset, int length)
int
write(java.nio.ByteBuffer buffer, boolean partial_write)
-
-
-
Field Detail
-
READ_TIMEOUT
public static final int READ_TIMEOUT
- See Also:
- Constant Field Values
-
CONNECT_TIMEOUT
public static final int CONNECT_TIMEOUT
- See Also:
- Constant Field Values
-
manager
private final UDPConnectionManager manager
-
selector
private UDPSelector selector
-
address
private final java.net.InetSocketAddress address
-
transport
private UDPTransport transport
-
incoming
private final boolean incoming
-
connection
private UDPConnection connection
-
read_listener
private TransportHelper.selectListener read_listener
-
read_attachment
private java.lang.Object read_attachment
-
read_selects_paused
private boolean read_selects_paused
-
write_listener
private TransportHelper.selectListener write_listener
-
write_attachment
private java.lang.Object write_attachment
-
write_selects_paused
private boolean write_selects_paused
-
closed
private boolean closed
-
failed
private java.io.IOException failed
-
pending_partial_writes
private java.nio.ByteBuffer[] pending_partial_writes
-
user_data
private java.util.Map user_data
-
-
Constructor Detail
-
UDPTransportHelper
public UDPTransportHelper(UDPConnectionManager _manager, java.net.InetSocketAddress _address, UDPTransport _transport) throws java.io.IOException
- Throws:
java.io.IOException
-
UDPTransportHelper
public UDPTransportHelper(UDPConnectionManager _manager, java.net.InetSocketAddress _address, UDPConnection _connection)
-
-
Method Detail
-
setTransport
protected void setTransport(UDPTransport _transport)
-
getTransport
protected UDPTransport getTransport()
-
getMss
protected int getMss()
-
minimiseOverheads
public boolean minimiseOverheads()
- Specified by:
minimiseOverheads
in interfaceTransportHelper
-
getConnectTimeout
public int getConnectTimeout()
- Specified by:
getConnectTimeout
in interfaceTransportHelper
-
getReadTimeout
public int getReadTimeout()
- Specified by:
getReadTimeout
in interfaceTransportHelper
-
getAddress
public java.net.InetSocketAddress getAddress()
- Specified by:
getAddress
in interfaceTransportHelper
-
getName
public java.lang.String getName(boolean verbose)
- Specified by:
getName
in interfaceTransportHelper
-
isIncoming
public boolean isIncoming()
-
getConnection
protected UDPConnection getConnection()
-
delayWrite
public boolean delayWrite(java.nio.ByteBuffer buffer)
- Specified by:
delayWrite
in interfaceTransportHelper
-
hasDelayedWrite
public boolean hasDelayedWrite()
- Specified by:
hasDelayedWrite
in interfaceTransportHelper
-
write
public int write(java.nio.ByteBuffer buffer, boolean partial_write) throws java.io.IOException
- Specified by:
write
in interfaceTransportHelper
- Throws:
java.io.IOException
-
write
public long write(java.nio.ByteBuffer[] buffers, int array_offset, int length) throws java.io.IOException
- Specified by:
write
in interfaceTransportHelper
- Throws:
java.io.IOException
-
read
public int read(java.nio.ByteBuffer buffer) throws java.io.IOException
- Specified by:
read
in interfaceTransportHelper
- Throws:
java.io.IOException
-
read
public long read(java.nio.ByteBuffer[] buffers, int array_offset, int length) throws java.io.IOException
- Specified by:
read
in interfaceTransportHelper
- Throws:
java.io.IOException
-
canRead
protected void canRead()
-
canWrite
protected void canWrite()
-
pauseReadSelects
public void pauseReadSelects()
- Specified by:
pauseReadSelects
in interfaceTransportHelper
-
pauseWriteSelects
public void pauseWriteSelects()
- Specified by:
pauseWriteSelects
in interfaceTransportHelper
-
resumeReadSelects
public void resumeReadSelects()
- Specified by:
resumeReadSelects
in interfaceTransportHelper
-
resumeWriteSelects
public void resumeWriteSelects()
- Specified by:
resumeWriteSelects
in interfaceTransportHelper
-
registerForReadSelects
public void registerForReadSelects(TransportHelper.selectListener listener, java.lang.Object attachment)
- Specified by:
registerForReadSelects
in interfaceTransportHelper
-
registerForWriteSelects
public void registerForWriteSelects(TransportHelper.selectListener listener, java.lang.Object attachment)
- Specified by:
registerForWriteSelects
in interfaceTransportHelper
-
cancelReadSelects
public void cancelReadSelects()
- Specified by:
cancelReadSelects
in interfaceTransportHelper
-
cancelWriteSelects
public void cancelWriteSelects()
- Specified by:
cancelWriteSelects
in interfaceTransportHelper
-
fireReadSelect
protected void fireReadSelect()
-
fireWriteSelect
protected void fireWriteSelect()
-
failed
public void failed(java.lang.Throwable reason)
- Specified by:
failed
in interfaceTransportHelper
-
isClosed
public boolean isClosed()
- Specified by:
isClosed
in interfaceTransportHelper
-
close
public void close(java.lang.String reason)
- Specified by:
close
in interfaceTransportHelper
-
poll
protected void poll()
-
setUserData
public void setUserData(java.lang.Object key, java.lang.Object data)
- Specified by:
setUserData
in interfaceTransportHelper
-
getUserData
public java.lang.Object getUserData(java.lang.Object key)
- Specified by:
getUserData
in interfaceTransportHelper
-
setTrace
public void setTrace(boolean on)
- Specified by:
setTrace
in interfaceTransportHelper
-
setScatteringMode
public void setScatteringMode(long forBytes)
- Specified by:
setScatteringMode
in interfaceTransportHelper
-
-