apache mina 学习(五)-----IoService接口及实现

来源:互联网 发布:迷宫算法 最短路径优化 编辑:程序博客网 时间:2024/05/12 12:14

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()
下面看一下 IoConnector和IoAcceptor

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
  • ...
他们之间的关系如图:

原创粉丝点击