org.apache.mina.common
Interface IoService

All Known Subinterfaces:
IoAcceptor, IoConnector
All Known Implementing Classes:
org.apache.mina.common.support.BaseIoAcceptor, org.apache.mina.common.support.BaseIoConnector, org.apache.mina.common.support.BaseIoService, DatagramAcceptor, DatagramConnector, org.apache.mina.common.support.DelegatedIoAcceptor, org.apache.mina.common.support.DelegatedIoConnector, SocketAcceptor, SocketConnector, VmPipeAcceptor, VmPipeConnector

public interface IoService

Base interface for all IoAcceptors and IoConnectors that provide I/O service and manage IoSessions.

Version:
$Rev: 440315 $, $Date: 2006-09-05 12:14:53 +0200 (Tue, 05 Sep 2006) $
Author:
The Apache Directory Project (mina-dev@directory.apache.org)

Method Summary
 void addListener(IoServiceListener listener)
          Adds an IoServiceListener that listens any events related with this service.
 IoServiceConfig getDefaultConfig()
          Returns the default configuration which is used when you didn't specify any configuration.
 DefaultIoFilterChainBuilder getFilterChain()
          A shortcut for ( ( DefaultIoFilterChainBuilder ) getFilterChainBuilder() ).
 IoFilterChainBuilder getFilterChainBuilder()
          Returns the global IoFilterChainBuilder which will modify the IoFilterChain of all IoSessions which is managed by this service.
 Set getManagedServiceAddresses()
          Returns all SocketAddresses this service is managing.
 Set getManagedSessions(SocketAddress serviceAddress)
          Returns all sessions with the specified remote or local address, which are currently managed by this service.
 boolean isManaged(SocketAddress serviceAddress)
          Returns true if this service is managing the specified serviceAddress.
 void removeListener(IoServiceListener listener)
          Removed an existing IoServiceListener that listens any events related with this service.
 void setFilterChainBuilder(IoFilterChainBuilder builder)
          Sets the global IoFilterChainBuilder which will modify the IoFilterChain of all IoSessions which is managed by this service.
 

Method Detail

addListener

void addListener(IoServiceListener listener)
Adds an IoServiceListener that listens any events related with this service.


removeListener

void removeListener(IoServiceListener listener)
Removed an existing IoServiceListener that listens any events related with this service.


getManagedServiceAddresses

Set getManagedServiceAddresses()
Returns all SocketAddresses this service is managing. If this service is an IoAcceptor, a set of bind addresses will be returned. If this service is an IoConnector, a set of remote addresses will be returned.


isManaged

boolean isManaged(SocketAddress serviceAddress)
Returns true if this service is managing the specified serviceAddress. If this service is an IoAcceptor, serviceAddress is a bind address. If this service is an IoConnector, serviceAddress is a remote address.


getManagedSessions

Set getManagedSessions(SocketAddress serviceAddress)
Returns all sessions with the specified remote or local address, which are currently managed by this service. IoAcceptor will assume the specified address is a local address, and IoConnector will assume it's a remote address.

Parameters:
serviceAddress - the address to return all sessions for.
Returns:
the sessions. An empty collection if there's no session.
Throws:
IllegalArgumentException - if the specified address has not been bound.
UnsupportedOperationException - if this operation isn't supported for the particular transport type implemented by this IoService.

getDefaultConfig

IoServiceConfig getDefaultConfig()
Returns the default configuration which is used when you didn't specify any configuration.


getFilterChainBuilder

IoFilterChainBuilder getFilterChainBuilder()
Returns the global IoFilterChainBuilder which will modify the IoFilterChain of all IoSessions which is managed by this service. The default value is an empty DefaultIoFilterChainBuilder.


setFilterChainBuilder

void setFilterChainBuilder(IoFilterChainBuilder builder)
Sets the global IoFilterChainBuilder which will modify the IoFilterChain of all IoSessions which is managed by this service. If you specify null this property will be set to an empty DefaultIoFilterChainBuilder.


getFilterChain

DefaultIoFilterChainBuilder getFilterChain()
A shortcut for ( ( DefaultIoFilterChainBuilder ) getFilterChainBuilder() ). Please note that the returned object is not a real IoFilterChain but a DefaultIoFilterChainBuilder. Modifying the returned builder won't affect the existing IoSessions at all, because IoFilterChainBuilders affect only newly created IoSessions.

Throws:
IllegalStateException - if the current IoFilterChainBuilder is not a DefaultIoFilterChainBuilder


Copyright © 2004-2010 Apache MINA Project. All Rights Reserved.