org.apache.mina.common

Interface IoService

Known Subinterfaces:
IoAcceptor, IoConnector
Known Implementing Classes:
BaseIoAcceptor, BaseIoConnector, BaseIoService, DatagramAcceptor, DatagramAcceptorDelegate, DatagramConnector, DatagramConnectorDelegate, DelegatedIoAcceptor, DelegatedIoConnector, SocketAcceptor, SocketConnector, VmPipeAcceptor, VmPipeConnector

public interface IoService

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

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 Details

addListener

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

getDefaultConfig

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

getFilterChain

public 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.

getFilterChainBuilder

public 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.

getManagedServiceAddresses

public 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.

getManagedSessions

public 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.

isManaged

public 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.

removeListener

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

setFilterChainBuilder

public 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.