org.apache.mina.common

Interface IoAcceptor

All Superinterfaces:
IoService
Known Implementing Classes:
BaseIoAcceptor, DatagramAcceptor, DatagramAcceptorDelegate, DelegatedIoAcceptor, SocketAcceptor, VmPipeAcceptor

public interface IoAcceptor
extends IoService

Accepts incoming connection, communicates with clients, and fires events to IoHandlers.

Please refer to EchoServer example.

You should bind to the desired socket address to accept incoming connections, and then events for incoming connections will be sent to the specified default IoHandler.

Threads accept incoming connections start automatically when bind(SocketAddress,IoHandler) is invoked, and stop when all addresses are unbound.

Method Summary

void
bind(SocketAddress address, IoHandler handler)
Binds to the specified address and handles incoming connections with the specified handler.
void
bind(SocketAddress address, IoHandler handler, IoServiceConfig config)
Binds to the specified address and handles incoming connections with the specified handler.
IoSession
newSession(SocketAddress remoteAddress, SocketAddress localAddress)
(Optional) Returns an IoSession that is bound to the specified localAddress and remoteAddress which reuses the localAddress that is already bound by IoAcceptor via bind(SocketAddress,IoHandler).
void
unbind(SocketAddress address)
Unbinds from the specified address and disconnects all clients connected there.
void
unbindAll()
Unbinds all addresses which were bound by this acceptor.

Methods inherited from interface org.apache.mina.common.IoService

addListener, getDefaultConfig, getFilterChain, getFilterChainBuilder, getManagedServiceAddresses, getManagedSessions, isManaged, removeListener, setFilterChainBuilder

Method Details

bind

public void bind(SocketAddress address,
                 IoHandler handler)
            throws IOException
Binds to the specified address and handles incoming connections with the specified handler.

bind

public void bind(SocketAddress address,
                 IoHandler handler,
                 IoServiceConfig config)
            throws IOException
Binds to the specified address and handles incoming connections with the specified handler.
Parameters:
config - the configuration

newSession

public IoSession newSession(SocketAddress remoteAddress,
                            SocketAddress localAddress)
(Optional) Returns an IoSession that is bound to the specified localAddress and remoteAddress which reuses the localAddress that is already bound by IoAcceptor via bind(SocketAddress,IoHandler).

This operation is optional. Please throw UnsupportedOperationException if the transport type doesn't support this operation. This operation is usually implemented for connectionless transport types.


unbind

public void unbind(SocketAddress address)
Unbinds from the specified address and disconnects all clients connected there.

unbindAll

public void unbindAll()
Unbinds all addresses which were bound by this acceptor.