org.apache.mina.core.service
Interface IoAcceptor

All Superinterfaces:
IoService
All Known Subinterfaces:
DatagramAcceptor, SocketAcceptor
All Known Implementing Classes:
AbstractIoAcceptor, AbstractPollingConnectionlessIoAcceptor, AbstractPollingIoAcceptor, AprSocketAcceptor, NioDatagramAcceptor, NioSocketAcceptor, 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() is invoked, and stop when unbind() is invoked.

Author:
Apache MINA Project

Method Summary
 void bind()
          Binds to the default local address(es) and start to accept incoming connections.
 void bind(Iterable<? extends SocketAddress> localAddresses)
          Binds to the specified local addresses and start to accept incoming connections.
 void bind(SocketAddress... addresses)
          Binds to the specified local addresses and start to accept incoming connections.
 SocketAddress getDefaultLocalAddress()
          Returns the default local address to bind when no argument is specified in bind() method.
 List<SocketAddress> getDefaultLocalAddresses()
          Returns a List of the default local addresses to bind when no argument is specified in bind() method.
 SocketAddress getLocalAddress()
          Returns the local address which is bound currently.
 Set<SocketAddress> getLocalAddresses()
          Returns a Set of the local addresses which are bound currently.
 boolean isCloseOnDeactivation()
          Returns true if and only if all clients are closed when this acceptor unbinds from all the related local address (i.e.
 IoSession newSession(SocketAddress remoteAddress, SocketAddress localAddress)
          (Optional) Returns an IoSession that is bound to the specified localAddress and the specified remoteAddress which reuses the local address that is already bound by this service.
 void setCloseOnDeactivation(boolean closeOnDeactivation)
          Sets whether all client sessions are closed when this acceptor unbinds from all the related local addresses (i.e.
 void setDefaultLocalAddress(SocketAddress localAddress)
          Sets the default local address to bind when no argument is specified in bind() method.
 void setDefaultLocalAddresses(Iterable<? extends SocketAddress> localAddresses)
          Sets the default local addresses to bind when no argument is specified in bind() method.
 void setDefaultLocalAddresses(List<? extends SocketAddress> localAddresses)
          Sets the default local addresses to bind when no argument is specified in bind() method.
 void setDefaultLocalAddresses(SocketAddress firstLocalAddress, SocketAddress... otherLocalAddresses)
          Sets the default local addresses to bind when no argument is specified in bind() method.
 void unbind()
          Unbinds from all local addresses that this service is bound to and stops to accept incoming connections.
 void unbind(Iterable<? extends SocketAddress> localAddresses)
          Unbinds from the specified local addresses and stop to accept incoming connections.
 void unbind(SocketAddress localAddress)
          Unbinds from the specified local address and stop to accept incoming connections.
 void unbind(SocketAddress firstLocalAddress, SocketAddress... otherLocalAddresses)
          Unbinds from the specified local addresses and stop to accept incoming connections.
 
Methods inherited from interface org.apache.mina.core.service.IoService
addListener, broadcast, dispose, dispose, getActivationTime, getFilterChain, getFilterChainBuilder, getHandler, getManagedSessionCount, getManagedSessions, getScheduledWriteBytes, getScheduledWriteMessages, getSessionConfig, getSessionDataStructureFactory, getStatistics, getTransportMetadata, isActive, isDisposed, isDisposing, removeListener, setFilterChainBuilder, setHandler, setSessionDataStructureFactory
 

Method Detail

getLocalAddress

SocketAddress getLocalAddress()
Returns the local address which is bound currently. If more than one address are bound, only one of them will be returned, but it's not necessarily the firstly bound address.


getLocalAddresses

Set<SocketAddress> getLocalAddresses()
Returns a Set of the local addresses which are bound currently.


getDefaultLocalAddress

SocketAddress getDefaultLocalAddress()
Returns the default local address to bind when no argument is specified in bind() method. Please note that the default will not be used if any local address is specified. If more than one address are set, only one of them will be returned, but it's not necessarily the firstly specified address in setDefaultLocalAddresses(List).


getDefaultLocalAddresses

List<SocketAddress> getDefaultLocalAddresses()
Returns a List of the default local addresses to bind when no argument is specified in bind() method. Please note that the default will not be used if any local address is specified.


setDefaultLocalAddress

void setDefaultLocalAddress(SocketAddress localAddress)
Sets the default local address to bind when no argument is specified in bind() method. Please note that the default will not be used if any local address is specified.


setDefaultLocalAddresses

void setDefaultLocalAddresses(SocketAddress firstLocalAddress,
                              SocketAddress... otherLocalAddresses)
Sets the default local addresses to bind when no argument is specified in bind() method. Please note that the default will not be used if any local address is specified.


setDefaultLocalAddresses

void setDefaultLocalAddresses(Iterable<? extends SocketAddress> localAddresses)
Sets the default local addresses to bind when no argument is specified in bind() method. Please note that the default will not be used if any local address is specified.


setDefaultLocalAddresses

void setDefaultLocalAddresses(List<? extends SocketAddress> localAddresses)
Sets the default local addresses to bind when no argument is specified in bind() method. Please note that the default will not be used if any local address is specified.


isCloseOnDeactivation

boolean isCloseOnDeactivation()
Returns true if and only if all clients are closed when this acceptor unbinds from all the related local address (i.e. when the service is deactivated).


setCloseOnDeactivation

void setCloseOnDeactivation(boolean closeOnDeactivation)
Sets whether all client sessions are closed when this acceptor unbinds from all the related local addresses (i.e. when the service is deactivated). The default value is true.


bind

void bind()
          throws IOException
Binds to the default local address(es) and start to accept incoming connections.

Throws:
IOException - if failed to bind

bind

void bind(SocketAddress... addresses)
          throws IOException
Binds to the specified local addresses and start to accept incoming connections. If no address is given, bind on the default local address.

Parameters:
addresses - The SocketAddresses to bind to
Throws:
IOException - if failed to bind

bind

void bind(Iterable<? extends SocketAddress> localAddresses)
          throws IOException
Binds to the specified local addresses and start to accept incoming connections.

Throws:
IOException - if failed to bind

unbind

void unbind()
Unbinds from all local addresses that this service is bound to and stops to accept incoming connections. All managed connections will be closed if disconnectOnUnbind property is true. This method returns silently if no local address is bound yet.


unbind

void unbind(SocketAddress localAddress)
Unbinds from the specified local address and stop to accept incoming connections. All managed connections will be closed if disconnectOnUnbind property is true. This method returns silently if the default local address is not bound yet.


unbind

void unbind(SocketAddress firstLocalAddress,
            SocketAddress... otherLocalAddresses)
Unbinds from the specified local addresses and stop to accept incoming connections. All managed connections will be closed if disconnectOnUnbind property is true. This method returns silently if the default local addresses are not bound yet.


unbind

void unbind(Iterable<? extends SocketAddress> localAddresses)
Unbinds from the specified local addresses and stop to accept incoming connections. All managed connections will be closed if disconnectOnUnbind property is true. This method returns silently if the default local addresses are not bound yet.


newSession

IoSession newSession(SocketAddress remoteAddress,
                     SocketAddress localAddress)
(Optional) Returns an IoSession that is bound to the specified localAddress and the specified remoteAddress which reuses the local address that is already bound by this service.

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.

Throws:
UnsupportedOperationException - if this operation is not supported
IllegalStateException - if this service is not running.
IllegalArgumentException - if this service is not bound to the specified localAddress.


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