IoService接口的主要职责:
监听管理
Io流处理
session管理
过滤链管理
统计信息管理
它的主要实现类是AbstractIoService
IoService是IoConnector和IoAcceptor的父接口,主要包含以下的方法:
- getTransportMetadata()
- addListener()
- removeListener()
- isDisposing()
- isDisposed()
- dispose()
- getHandler()
- setHandler()
- getManagedSessions()
- getManagedSessionCount()
- getSessionConfig()
- getFilterChainBuilder()
- setFilterChainBuilder()
- getFilterChain()
- isActive()
- getActivationTime()
- broadcast()
- setSessionDataStructureFactory()
- getScheduledWriteBytes()
- getScheduledWriteMessages()
- getStatistics()
IoAcceptor:显然此方法的名字源于socket的accept方法,它的实现类有:
- NioSocketAcceptor: 非阻塞的socket传输Acceptor
- NioDatagramAcceptor: 非阻塞的udp传输Acceptor
- AprSocketAcceptor: 基于apr的阻塞传输Acceptor
- VmPipeSocketAcceptor: 虚拟机内的Acceptor
IoConnector:显然此方法的名字源于socket的accept方法,它的实现类有:
- NioSocketConnector: 非阻塞的socket传输Connector
- NioDatagramConnector: 非阻塞的udp传输Connector
- AprSocketConnector: 基于apr的阻塞传输Connector
- ...
