Package one.nio.server
Class Server
- java.lang.Object
-
- one.nio.server.Server
-
- All Implemented Interfaces:
ServerMXBean
- Direct Known Subclasses:
HttpServer,RpcServer
public class Server extends java.lang.Object implements ServerMXBean
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classServer.QueueStatsprivate static classServer.SelectorStats
-
Field Summary
Fields Modifier and Type Field Description protected Acceptoracceptorprotected CleanupThreadcleanupprotected booleancloseSessionsprivate static org.slf4j.Loggerlogprotected booleanpinAcceptorsprotected intportprivate Server.QueueStatsqueueStatsprivate java.util.concurrent.atomic.LongAdderrequestsProcessedprivate java.util.concurrent.atomic.LongAdderrequestsRejectedprotected SelectorThread[]selectorsprivate Server.SelectorStatsselectorStatsprotected booleanuseWorkersprotected WorkerPoolworkers
-
Constructor Summary
Constructors Constructor Description Server(ServerConfig config)
-
Method Summary
-
-
-
Field Detail
-
log
private static final org.slf4j.Logger log
-
requestsProcessed
private final java.util.concurrent.atomic.LongAdder requestsProcessed
-
requestsRejected
private final java.util.concurrent.atomic.LongAdder requestsRejected
-
selectorStats
private volatile Server.SelectorStats selectorStats
-
queueStats
private volatile Server.QueueStats queueStats
-
port
protected final int port
-
acceptor
protected volatile Acceptor acceptor
-
selectors
protected volatile SelectorThread[] selectors
-
useWorkers
protected boolean useWorkers
-
workers
protected final WorkerPool workers
-
cleanup
protected final CleanupThread cleanup
-
closeSessions
protected boolean closeSessions
-
pinAcceptors
protected boolean pinAcceptors
-
-
Constructor Detail
-
Server
public Server(ServerConfig config) throws java.io.IOException
- Throws:
java.io.IOException
-
-
Method Detail
-
reconfigure
public void reconfigure(ServerConfig config) throws java.io.IOException
- Throws:
java.io.IOException
-
start
public void start()
-
stop
public void stop()
-
registerShutdownHook
public void registerShutdownHook()
-
createSession
public Session createSession(Socket socket) throws RejectedSessionException
- Throws:
RejectedSessionException
-
register
public void register(Session session, int acceptorIndex, int acceptorGroupSize)
-
register
public void register(Session session)
-
getSmallestPinnedSelector
private Selector getSmallestPinnedSelector(int idx, int total)
-
getSmallestSelector
private Selector getSmallestSelector()
-
incRequestsProcessed
public final void incRequestsProcessed()
-
incRequestsRejected
public final void incRequestsRejected()
-
getConnections
public int getConnections()
- Specified by:
getConnectionsin interfaceServerMXBean
-
getKeepAlive
public long getKeepAlive()
- Specified by:
getKeepAlivein interfaceServerMXBean
-
getWorkersUsed
public boolean getWorkersUsed()
- Specified by:
getWorkersUsedin interfaceServerMXBean
-
getWorkers
public int getWorkers()
- Specified by:
getWorkersin interfaceServerMXBean
-
getWorkersActive
public int getWorkersActive()
- Specified by:
getWorkersActivein interfaceServerMXBean
-
getAcceptedSessions
public long getAcceptedSessions()
- Specified by:
getAcceptedSessionsin interfaceServerMXBean
-
getRejectedSessions
public long getRejectedSessions()
- Specified by:
getRejectedSessionsin interfaceServerMXBean
-
getSelectorCount
public int getSelectorCount()
- Specified by:
getSelectorCountin interfaceServerMXBean
-
getSelectorAvgReady
public double getSelectorAvgReady()
- Specified by:
getSelectorAvgReadyin interfaceServerMXBean
-
getSelectorMaxReady
public int getSelectorMaxReady()
- Specified by:
getSelectorMaxReadyin interfaceServerMXBean
-
getSelectorOperations
public long getSelectorOperations()
- Specified by:
getSelectorOperationsin interfaceServerMXBean
-
getSelectorSessions
public long getSelectorSessions()
- Specified by:
getSelectorSessionsin interfaceServerMXBean
-
getQueueAvgLength
public double getQueueAvgLength()
- Specified by:
getQueueAvgLengthin interfaceServerMXBean
-
getQueueAvgBytes
public long getQueueAvgBytes()
- Specified by:
getQueueAvgBytesin interfaceServerMXBean
-
getQueueMaxLength
public long getQueueMaxLength()
- Specified by:
getQueueMaxLengthin interfaceServerMXBean
-
getQueueMaxBytes
public long getQueueMaxBytes()
- Specified by:
getQueueMaxBytesin interfaceServerMXBean
-
getRequestsProcessed
public long getRequestsProcessed()
- Specified by:
getRequestsProcessedin interfaceServerMXBean
-
getRequestsRejected
public long getRequestsRejected()
- Specified by:
getRequestsRejectedin interfaceServerMXBean
-
reset
public void reset()
- Specified by:
resetin interfaceServerMXBean
-
asyncExecute
public final void asyncExecute(java.lang.Runnable command)
-
getSelectorStats
private Server.SelectorStats getSelectorStats()
-
getQueueStats
private Server.QueueStats getQueueStats()
-
-