Package org.apache.mina.core.service
Interface IoService
-
- All Known Subinterfaces:
DatagramAcceptor
,DatagramConnector
,IoAcceptor
,IoConnector
,SocketAcceptor
,SocketConnector
- All Known Implementing Classes:
AbstractIoAcceptor
,AbstractIoConnector
,AbstractIoService
,AbstractPollingIoAcceptor
,AbstractPollingIoConnector
,AprSocketAcceptor
,AprSocketConnector
,NioDatagramAcceptor
,NioDatagramConnector
,NioSocketAcceptor
,NioSocketConnector
,ProxyConnector
,SerialConnector
,VmPipeAcceptor
,VmPipeConnector
public interface IoService
- Author:
- Apache MINA Project
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addListener(IoServiceListener listener)
Adds anIoServiceListener
that listens any events related with this service.Set<WriteFuture>
broadcast(Object message)
Writes the specifiedmessage
to all theIoSession
s managed by this service.void
dispose()
Releases any resources allocated by this service.void
dispose(boolean awaitTermination)
Releases any resources allocated by this service.long
getActivationTime()
DefaultIoFilterChainBuilder
getFilterChain()
IoFilterChainBuilder
getFilterChainBuilder()
IoHandler
getHandler()
int
getManagedSessionCount()
Map<Long,IoSession>
getManagedSessions()
int
getScheduledWriteBytes()
int
getScheduledWriteMessages()
IoSessionConfig
getSessionConfig()
IoSessionDataStructureFactory
getSessionDataStructureFactory()
IoServiceStatistics
getStatistics()
TransportMetadata
getTransportMetadata()
boolean
isActive()
boolean
isDisposed()
boolean
isDisposing()
void
removeListener(IoServiceListener listener)
Removed an existingIoServiceListener
that listens any events related with this service.void
setFilterChainBuilder(IoFilterChainBuilder builder)
Sets theIoFilterChainBuilder
which will build theIoFilterChain
of allIoSession
s which is created by this service.void
setHandler(IoHandler handler)
Sets the handler which will handle all connections managed by this service.void
setSessionDataStructureFactory(IoSessionDataStructureFactory sessionDataStructureFactory)
Sets theIoSessionDataStructureFactory
that provides related data structures for a new session created by this service.
-
-
-
Method Detail
-
getTransportMetadata
TransportMetadata getTransportMetadata()
- Returns:
- the
TransportMetadata
that this service runs on.
-
addListener
void addListener(IoServiceListener listener)
Adds anIoServiceListener
that listens any events related with this service.- Parameters:
listener
- The listener to add
-
removeListener
void removeListener(IoServiceListener listener)
Removed an existingIoServiceListener
that listens any events related with this service.- Parameters:
listener
- The listener to use
-
isDisposing
boolean isDisposing()
- Returns:
true
if and if onlydispose()
method has been called. Please note that this method will returntrue
even after all the related resources are released.
-
isDisposed
boolean isDisposed()
- Returns:
true
if and if only all resources of this processor have been disposed.
-
dispose
void dispose()
Releases any resources allocated by this service. Please note that this method might block as long as there are any sessions managed by this service.
-
dispose
void dispose(boolean awaitTermination)
Releases any resources allocated by this service. Please note that this method might block as long as there are any sessions managed by this service. Warning : calling this method from a IoFutureListener withawaitTermination
= true will probably lead to a deadlock.- Parameters:
awaitTermination
- When true this method will block until the underlying ExecutorService is terminated
-
getHandler
IoHandler getHandler()
- Returns:
- the handler which will handle all connections managed by this service.
-
setHandler
void setHandler(IoHandler handler)
Sets the handler which will handle all connections managed by this service.- Parameters:
handler
- The IoHandler to use
-
getManagedSessions
Map<Long,IoSession> getManagedSessions()
- Returns:
- the map of all sessions which are currently managed by this
service. The key of map is the
ID
of the session. An empty collection if there's no session.
-
getManagedSessionCount
int getManagedSessionCount()
- Returns:
- the number of all sessions which are currently managed by this service.
-
getSessionConfig
IoSessionConfig getSessionConfig()
- Returns:
- the default configuration of the new
IoSession
s created by this service.
-
getFilterChainBuilder
IoFilterChainBuilder getFilterChainBuilder()
- Returns:
- the
IoFilterChainBuilder
which will build theIoFilterChain
of allIoSession
s which is created by this service. The default value is an emptyDefaultIoFilterChainBuilder
.
-
setFilterChainBuilder
void setFilterChainBuilder(IoFilterChainBuilder builder)
Sets theIoFilterChainBuilder
which will build theIoFilterChain
of allIoSession
s which is created by this service. If you specifynull
this property will be set to an emptyDefaultIoFilterChainBuilder
.- Parameters:
builder
- The filter chain builder to use
-
getFilterChain
DefaultIoFilterChainBuilder getFilterChain()
A shortcut for( ( DefaultIoFilterChainBuilder )
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.- Returns:
- The filter chain in use
- Throws:
IllegalStateException
- if the currentIoFilterChainBuilder
is not aDefaultIoFilterChainBuilder
-
isActive
boolean isActive()
- Returns:
- a value of whether or not this service is active
-
getActivationTime
long getActivationTime()
- Returns:
- the time when this service was activated. It returns the last time when this service was activated if the service is not active now.
-
broadcast
Set<WriteFuture> broadcast(Object message)
Writes the specifiedmessage
to all theIoSession
s managed by this service. This method is a convenience shortcut forIoUtil.broadcast(Object, Collection)
.- Parameters:
message
- the message to broadcast- Returns:
- The set of WriteFuture associated to the message being broadcasted
-
getSessionDataStructureFactory
IoSessionDataStructureFactory getSessionDataStructureFactory()
- Returns:
- the
IoSessionDataStructureFactory
that provides related data structures for a new session created by this service.
-
setSessionDataStructureFactory
void setSessionDataStructureFactory(IoSessionDataStructureFactory sessionDataStructureFactory)
Sets theIoSessionDataStructureFactory
that provides related data structures for a new session created by this service.- Parameters:
sessionDataStructureFactory
- The factory to use
-
getScheduledWriteBytes
int getScheduledWriteBytes()
- Returns:
- The number of bytes scheduled to be written
-
getScheduledWriteMessages
int getScheduledWriteMessages()
- Returns:
- The number of messages scheduled to be written
-
getStatistics
IoServiceStatistics getStatistics()
- Returns:
- The statistics object for this service.
-
-