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
A delegated
IoAcceptor
that wraps the other IoAcceptor
.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addListener
(IoServiceListener listener) Adds anIoServiceListener
that listens any events related with this service.void
bind
(SocketAddress address, IoHandler handler) Binds to the specifiedaddress
and handles incoming connections with the specifiedhandler
.void
bind
(SocketAddress address, IoHandler handler, IoServiceConfig config) Binds to the specifiedaddress
and handles incoming connections with the specifiedhandler
.Returns the default configuration which is used when you didn't specify any configuration.A shortcut for ( ( DefaultIoFilterChainBuilder )IoService.getFilterChainBuilder()
).Returns the globalIoFilterChainBuilder
which will modify theIoFilterChain
of allIoSession
s which is managed by this service.Returns allSocketAddress
es this service is managing.getManagedSessions
(SocketAddress serviceAddress) Returns all sessions with the specified remote or local address, which are currently managed by this service.protected void
init
(IoAcceptor delegate) Sets the delegate.boolean
isManaged
(SocketAddress address) Returns true if this service is managing the specified serviceAddress.newSession
(SocketAddress remoteAddress, SocketAddress localAddress) (Optional) Returns anIoSession
that is bound to the specified localAddress and remoteAddress which reuses the localAddress that is already bound byIoAcceptor
viaIoAcceptor.bind(SocketAddress, IoHandler)
.void
removeListener
(IoServiceListener listener) Removed an existingIoServiceListener
that listens any events related with this service.void
Sets the globalIoFilterChainBuilder
which will modify theIoFilterChain
of allIoSession
s which is managed by this service.void
unbind
(SocketAddress address) Unbinds from the specifiedaddress
and disconnects all clients connected there.void
Unbinds all addresses which were bound by this acceptor.
-
Field Details
-
delegate
-
-
Constructor Details
-
DelegatedIoAcceptor
protected DelegatedIoAcceptor()Creates a new instance.
-
-
Method Details
-
init
Sets the delegate. This method should be invoked before any operations is requested. -
bind
Description copied from interface:IoAcceptor
Binds to the specifiedaddress
and handles incoming connections with the specifiedhandler
.- Specified by:
bind
in interfaceIoAcceptor
- Throws:
IOException
- if failed to bind
-
bind
public void bind(SocketAddress address, IoHandler handler, IoServiceConfig config) throws IOException Description copied from interface:IoAcceptor
Binds to the specifiedaddress
and handles incoming connections with the specifiedhandler
.- Specified by:
bind
in interfaceIoAcceptor
- Parameters:
config
- the configuration- Throws:
IOException
- if failed to bind
-
unbind
Description copied from interface:IoAcceptor
Unbinds from the specifiedaddress
and disconnects all clients connected there.- Specified by:
unbind
in interfaceIoAcceptor
-
unbindAll
public void unbindAll()Description copied from interface:IoAcceptor
Unbinds all addresses which were bound by this acceptor.- Specified by:
unbindAll
in interfaceIoAcceptor
-
isManaged
Description copied from interface:IoService
Returns 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
Description copied from interface:IoService
Returns allSocketAddress
es 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:
getManagedServiceAddresses
in interfaceIoService
-
getManagedSessions
Description copied from interface:IoService
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, andIoConnector
will assume it's a remote address.- Specified by:
getManagedSessions
in interfaceIoService
- Parameters:
serviceAddress
- the address to return all sessions for.- Returns:
- the sessions. An empty collection if there's no session.
-
newSession
Description copied from interface:IoAcceptor
(Optional) Returns anIoSession
that is bound to the specified localAddress and remoteAddress which reuses the localAddress that is already bound byIoAcceptor
viaIoAcceptor.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.- Specified by:
newSession
in interfaceIoAcceptor
-
getDefaultConfig
Description copied from interface:IoService
Returns the default configuration which is used when you didn't specify any configuration.- Specified by:
getDefaultConfig
in interfaceIoService
-
getFilterChainBuilder
Description copied from interface:IoService
Returns the globalIoFilterChainBuilder
which will modify theIoFilterChain
of allIoSession
s which is managed by this service. The default value is an emptyDefaultIoFilterChainBuilder
.- Specified by:
getFilterChainBuilder
in interfaceIoService
-
setFilterChainBuilder
Description copied from interface:IoService
Sets the globalIoFilterChainBuilder
which will modify theIoFilterChain
of allIoSession
s which is managed by this service. If you specify null this property will be set to an emptyDefaultIoFilterChainBuilder
.- Specified by:
setFilterChainBuilder
in interfaceIoService
-
getFilterChain
Description copied from interface:IoService
A shortcut for ( ( DefaultIoFilterChainBuilder )IoService.getFilterChainBuilder()
). Please note that the returned object is not a realIoFilterChain
but aDefaultIoFilterChainBuilder
. Modifying the returned builder won't affect the existingIoSession
s at all, becauseIoFilterChainBuilder
s affect only newly createdIoSession
s.- Specified by:
getFilterChain
in interfaceIoService
-
addListener
Description copied from interface:IoService
Adds anIoServiceListener
that listens any events related with this service.- Specified by:
addListener
in interfaceIoService
-
removeListener
Description copied from interface:IoService
Removed an existingIoServiceListener
that listens any events related with this service.- Specified by:
removeListener
in interfaceIoService
-