Package org.apache.mina.common.support
Class DelegatedIoAcceptor
- java.lang.Object
-
- org.apache.mina.common.support.DelegatedIoAcceptor
-
- All Implemented Interfaces:
IoAcceptor,IoService
- Direct Known Subclasses:
DatagramAcceptor
public class DelegatedIoAcceptor extends java.lang.Object implements IoAcceptor
A delegatedIoAcceptorthat wraps the otherIoAcceptor.
-
-
Field Summary
Fields Modifier and Type Field Description protected IoAcceptordelegate
-
Constructor Summary
Constructors Modifier Constructor Description protectedDelegatedIoAcceptor()Creates a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddListener(IoServiceListener listener)Adds anIoServiceListenerthat listens any events related with this service.voidbind(java.net.SocketAddress address, IoHandler handler)Binds to the specifiedaddressand handles incoming connections with the specifiedhandler.voidbind(java.net.SocketAddress address, IoHandler handler, IoServiceConfig config)Binds to the specifiedaddressand handles incoming connections with the specifiedhandler.IoServiceConfiggetDefaultConfig()Returns the default configuration which is used when you didn't specify any configuration.DefaultIoFilterChainBuildergetFilterChain()A shortcut for ( ( DefaultIoFilterChainBuilder )IoService.getFilterChainBuilder()).IoFilterChainBuildergetFilterChainBuilder()Returns the globalIoFilterChainBuilderwhich will modify theIoFilterChainof allIoSessions which is managed by this service.java.util.Set<java.net.SocketAddress>getManagedServiceAddresses()Returns allSocketAddresses this service is managing.java.util.Set<IoSession>getManagedSessions(java.net.SocketAddress serviceAddress)Returns all sessions with the specified remote or local address, which are currently managed by this service.protected voidinit(IoAcceptor delegate)Sets the delegate.booleanisManaged(java.net.SocketAddress address)Returns true if this service is managing the specified serviceAddress.IoSessionnewSession(java.net.SocketAddress remoteAddress, java.net.SocketAddress localAddress)(Optional) Returns anIoSessionthat is bound to the specified localAddress and remoteAddress which reuses the localAddress that is already bound byIoAcceptorviaIoAcceptor.bind(SocketAddress, IoHandler).voidremoveListener(IoServiceListener listener)Removed an existingIoServiceListenerthat listens any events related with this service.voidsetFilterChainBuilder(IoFilterChainBuilder builder)Sets the globalIoFilterChainBuilderwhich will modify theIoFilterChainof allIoSessions which is managed by this service.voidunbind(java.net.SocketAddress address)Unbinds from the specifiedaddressand disconnects all clients connected there.voidunbindAll()Unbinds all addresses which were bound by this acceptor.
-
-
-
Field Detail
-
delegate
protected IoAcceptor delegate
-
-
Method Detail
-
init
protected void init(IoAcceptor delegate)
Sets the delegate. This method should be invoked before any operations is requested.
-
bind
public void bind(java.net.SocketAddress address, IoHandler handler) throws java.io.IOExceptionDescription copied from interface:IoAcceptorBinds to the specifiedaddressand handles incoming connections with the specifiedhandler.- Specified by:
bindin interfaceIoAcceptor- Throws:
java.io.IOException- if failed to bind
-
bind
public void bind(java.net.SocketAddress address, IoHandler handler, IoServiceConfig config) throws java.io.IOExceptionDescription copied from interface:IoAcceptorBinds to the specifiedaddressand handles incoming connections with the specifiedhandler.- Specified by:
bindin interfaceIoAcceptorconfig- the configuration- Throws:
java.io.IOException- if failed to bind
-
unbind
public void unbind(java.net.SocketAddress address)
Description copied from interface:IoAcceptorUnbinds from the specifiedaddressand disconnects all clients connected there.- Specified by:
unbindin interfaceIoAcceptor
-
unbindAll
public void unbindAll()
Description copied from interface:IoAcceptorUnbinds all addresses which were bound by this acceptor.- Specified by:
unbindAllin interfaceIoAcceptor
-
isManaged
public boolean isManaged(java.net.SocketAddress address)
Description copied from interface:IoServiceReturns true if this service is managing the specified serviceAddress. If this service is anIoAcceptor, serviceAddress is a bind address. If this service is anIoConnector, serviceAddress is a remote address.
-
getManagedServiceAddresses
public java.util.Set<java.net.SocketAddress> getManagedServiceAddresses()
Description copied from interface:IoServiceReturns allSocketAddresses this service is managing. If this service is anIoAcceptor, a set of bind addresses will be returned. If this service is anIoConnector, a set of remote addresses will be returned.- Specified by:
getManagedServiceAddressesin interfaceIoService
-
getManagedSessions
public java.util.Set<IoSession> getManagedSessions(java.net.SocketAddress serviceAddress)
Description copied from interface:IoServiceReturns all sessions with the specified remote or local address, which are currently managed by this service.IoAcceptorwill assume the specified address is a local address, andIoConnectorwill assume it's a remote address.- Specified by:
getManagedSessionsin interfaceIoService- Parameters:
serviceAddress- the address to return all sessions for.- Returns:
- the sessions. An empty collection if there's no session.
-
newSession
public IoSession newSession(java.net.SocketAddress remoteAddress, java.net.SocketAddress localAddress)
Description copied from interface:IoAcceptor(Optional) Returns anIoSessionthat is bound to the specified localAddress and remoteAddress which reuses the localAddress that is already bound byIoAcceptorviaIoAcceptor.bind(SocketAddress, IoHandler).This operation is optional. Please throw
UnsupportedOperationExceptionif the transport type doesn't support this operation. This operation is usually implemented for connectionless transport types.- Specified by:
newSessionin interfaceIoAcceptor
-
getDefaultConfig
public IoServiceConfig getDefaultConfig()
Description copied from interface:IoServiceReturns the default configuration which is used when you didn't specify any configuration.- Specified by:
getDefaultConfigin interfaceIoService
-
getFilterChainBuilder
public IoFilterChainBuilder getFilterChainBuilder()
Description copied from interface:IoServiceReturns the globalIoFilterChainBuilderwhich will modify theIoFilterChainof allIoSessions which is managed by this service. The default value is an emptyDefaultIoFilterChainBuilder.- Specified by:
getFilterChainBuilderin interfaceIoService
-
setFilterChainBuilder
public void setFilterChainBuilder(IoFilterChainBuilder builder)
Description copied from interface:IoServiceSets the globalIoFilterChainBuilderwhich will modify theIoFilterChainof allIoSessions which is managed by this service. If you specify null this property will be set to an emptyDefaultIoFilterChainBuilder.- Specified by:
setFilterChainBuilderin interfaceIoService
-
getFilterChain
public DefaultIoFilterChainBuilder getFilterChain()
Description copied from interface:IoServiceA shortcut for ( ( DefaultIoFilterChainBuilder )IoService.getFilterChainBuilder()). Please note that the returned object is not a realIoFilterChainbut aDefaultIoFilterChainBuilder. Modifying the returned builder won't affect the existingIoSessions at all, becauseIoFilterChainBuilders affect only newly createdIoSessions.- Specified by:
getFilterChainin interfaceIoService
-
addListener
public void addListener(IoServiceListener listener)
Description copied from interface:IoServiceAdds anIoServiceListenerthat listens any events related with this service.- Specified by:
addListenerin interfaceIoService
-
removeListener
public void removeListener(IoServiceListener listener)
Description copied from interface:IoServiceRemoved an existingIoServiceListenerthat listens any events related with this service.- Specified by:
removeListenerin interfaceIoService
-
-