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

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

apache mina 学习(五)-----IoService接口及实现_第1张图片


IoConnector:显然此方法的名字源于socket的accept方法,它的实现类有:

  • NioSocketConnector: 非阻塞的socket传输Connector
  • NioDatagramConnector: 非阻塞的udp传输Connector
  • AprSocketConnector: 基于apr的阻塞传输Connector
  • ...
他们之间的关系如图:

apache mina 学习(五)-----IoService接口及实现_第2张图片

你可能感兴趣的:(service)