Module org.snmp4j
Package org.snmp4j.transport
Class AbstractTcpServerThread<S extends AbstractSocketEntry>
- java.lang.Object
-
- org.snmp4j.transport.AbstractTcpServerThread<S>
-
- All Implemented Interfaces:
java.lang.Runnable
,WorkerTask
- Direct Known Subclasses:
DefaultTcpTransportMapping.ServerThread
public abstract class AbstractTcpServerThread<S extends AbstractSocketEntry> extends java.lang.Object implements WorkerTask
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.LinkedList<S>
pending
protected java.nio.channels.Selector
selector
protected boolean
stop
protected TcpTransportMapping<?>
tcpTransportMapping
-
Constructor Summary
Constructors Constructor Description AbstractTcpServerThread(TcpTransportMapping<?> tcpTransportMapping)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
close()
protected void
closeChannel(java.nio.channels.SelectableChannel channel)
protected void
connectChannel(java.nio.channels.SelectionKey sk, TcpAddress incomingAddress)
protected void
connectSocketToSendMessage(Address address, byte[] message, java.net.Socket s, S entry, java.util.Map<Address,S> sockets)
void
interrupt()
Interrupts this task.void
join()
Waits until this task has been finished.abstract S
removeSocketEntry(TcpAddress incomingAddress)
abstract void
run()
void
terminate()
TheWorkerPool
might call this method to hint the activeWorkTask
instance to complete execution as soon as possible.protected TcpAddress
writeData(java.nio.channels.SelectionKey sk, TcpAddress incomingAddress)
-
-
-
Field Detail
-
tcpTransportMapping
protected TcpTransportMapping<?> tcpTransportMapping
-
stop
protected volatile boolean stop
-
selector
protected java.nio.channels.Selector selector
-
pending
protected final java.util.LinkedList<S extends AbstractSocketEntry> pending
-
-
Constructor Detail
-
AbstractTcpServerThread
public AbstractTcpServerThread(TcpTransportMapping<?> tcpTransportMapping) throws java.io.IOException
- Throws:
java.io.IOException
-
-
Method Detail
-
connectSocketToSendMessage
protected void connectSocketToSendMessage(Address address, byte[] message, java.net.Socket s, S entry, java.util.Map<Address,S> sockets)
-
run
public abstract void run()
- Specified by:
run
in interfacejava.lang.Runnable
-
removeSocketEntry
public abstract S removeSocketEntry(TcpAddress incomingAddress)
-
connectChannel
protected void connectChannel(java.nio.channels.SelectionKey sk, TcpAddress incomingAddress)
-
writeData
protected TcpAddress writeData(java.nio.channels.SelectionKey sk, TcpAddress incomingAddress)
-
closeChannel
protected void closeChannel(java.nio.channels.SelectableChannel channel)
-
close
public void close()
-
terminate
public void terminate()
Description copied from interface:WorkerTask
TheWorkerPool
might call this method to hint the activeWorkTask
instance to complete execution as soon as possible.- Specified by:
terminate
in interfaceWorkerTask
-
join
public void join()
Description copied from interface:WorkerTask
Waits until this task has been finished.- Specified by:
join
in interfaceWorkerTask
-
interrupt
public void interrupt()
Description copied from interface:WorkerTask
Interrupts this task.- Specified by:
interrupt
in interfaceWorkerTask
- See Also:
Thread.interrupt()
-
-