<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_191) on Wed Apr 17 13:46:39 CEST 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>IoService (Apache MINA 2.1.2 API Documentation)</title>
<meta name="date" content="2019-04-17">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="IoService (Apache MINA 2.1.2 API Documentation)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/IoService.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/mina/core/service/IoServiceListener.html" title="interface in org.apache.mina.core.service"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/mina/core/service/IoService.html" target="_top">Frames</a></li>
<li><a href="IoService.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.mina.core.service</div>
<h2 title="Interface IoService" class="title">Interface IoService</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../../../org/apache/mina/transport/socket/DatagramAcceptor.html" title="interface in org.apache.mina.transport.socket">DatagramAcceptor</a>, <a href="../../../../../org/apache/mina/transport/socket/DatagramConnector.html" title="interface in org.apache.mina.transport.socket">DatagramConnector</a>, <a href="../../../../../org/apache/mina/core/service/IoAcceptor.html" title="interface in org.apache.mina.core.service">IoAcceptor</a>, <a href="../../../../../org/apache/mina/core/service/IoConnector.html" title="interface in org.apache.mina.core.service">IoConnector</a>, <a href="../../../../../org/apache/mina/transport/socket/SocketAcceptor.html" title="interface in org.apache.mina.transport.socket">SocketAcceptor</a>, <a href="../../../../../org/apache/mina/transport/socket/SocketConnector.html" title="interface in org.apache.mina.transport.socket">SocketConnector</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/mina/core/service/AbstractIoAcceptor.html" title="class in org.apache.mina.core.service">AbstractIoAcceptor</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html" title="class in org.apache.mina.core.service">AbstractIoConnector</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html" title="class in org.apache.mina.core.service">AbstractIoService</a>, <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoAcceptor.html" title="class in org.apache.mina.core.polling">AbstractPollingIoAcceptor</a>, <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="class in org.apache.mina.core.polling">AbstractPollingIoConnector</a>, <a href="../../../../../org/apache/mina/transport/socket/apr/AprSocketAcceptor.html" title="class in org.apache.mina.transport.socket.apr">AprSocketAcceptor</a>, <a href="../../../../../org/apache/mina/transport/socket/apr/AprSocketConnector.html" title="class in org.apache.mina.transport.socket.apr">AprSocketConnector</a>, <a href="../../../../../org/apache/mina/transport/socket/nio/NioDatagramAcceptor.html" title="class in org.apache.mina.transport.socket.nio">NioDatagramAcceptor</a>, <a href="../../../../../org/apache/mina/transport/socket/nio/NioDatagramConnector.html" title="class in org.apache.mina.transport.socket.nio">NioDatagramConnector</a>, <a href="../../../../../org/apache/mina/transport/socket/nio/NioSocketAcceptor.html" title="class in org.apache.mina.transport.socket.nio">NioSocketAcceptor</a>, <a href="../../../../../org/apache/mina/transport/socket/nio/NioSocketConnector.html" title="class in org.apache.mina.transport.socket.nio">NioSocketConnector</a>, <a href="../../../../../org/apache/mina/proxy/ProxyConnector.html" title="class in org.apache.mina.proxy">ProxyConnector</a>, <a href="../../../../../org/apache/mina/transport/serial/SerialConnector.html" title="class in org.apache.mina.transport.serial">SerialConnector</a>, <a href="../../../../../org/apache/mina/transport/vmpipe/VmPipeAcceptor.html" title="class in org.apache.mina.transport.vmpipe">VmPipeAcceptor</a>, <a href="../../../../../org/apache/mina/transport/vmpipe/VmPipeConnector.html" title="class in org.apache.mina.transport.vmpipe">VmPipeConnector</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">IoService</span></pre>
<div class="block">Base interface for all <a href="../../../../../org/apache/mina/core/service/IoAcceptor.html" title="interface in org.apache.mina.core.service"><code>IoAcceptor</code></a>s and <a href="../../../../../org/apache/mina/core/service/IoConnector.html" title="interface in org.apache.mina.core.service"><code>IoConnector</code></a>s
 that provide I/O service and manage <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a>s.</div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd><a href="http://mina.apache.org">Apache MINA Project</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#addListener-org.apache.mina.core.service.IoServiceListener-">addListener</a></span>(<a href="../../../../../org/apache/mina/core/service/IoServiceListener.html" title="interface in org.apache.mina.core.service">IoServiceListener</a>&nbsp;listener)</code>
<div class="block">Adds an <a href="../../../../../org/apache/mina/core/service/IoServiceListener.html" title="interface in org.apache.mina.core.service"><code>IoServiceListener</code></a> that listens any events related with
 this service.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/mina/core/future/WriteFuture.html" title="interface in org.apache.mina.core.future">WriteFuture</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#broadcast-java.lang.Object-">broadcast</a></span>(<a href="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;message)</code>
<div class="block">Writes the specified <code>message</code> to all the <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a>s
 managed by this service.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#dispose--">dispose</a></span>()</code>
<div class="block">Releases any resources allocated by this service.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#dispose-boolean-">dispose</a></span>(boolean&nbsp;awaitTermination)</code>
<div class="block">Releases any resources allocated by this service.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#getActivationTime--">getActivationTime</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChainBuilder.html" title="class in org.apache.mina.core.filterchain">DefaultIoFilterChainBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#getFilterChain--">getFilterChain</a></span>()</code>
<div class="block">A shortcut for <tt>( ( DefaultIoFilterChainBuilder ) </tt><a href="../../../../../org/apache/mina/core/service/IoService.html#getFilterChainBuilder--"><code>getFilterChainBuilder()</code></a><tt> )</tt>.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/filterchain/IoFilterChainBuilder.html" title="interface in org.apache.mina.core.filterchain">IoFilterChainBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#getFilterChainBuilder--">getFilterChainBuilder</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/service/IoHandler.html" title="interface in org.apache.mina.core.service">IoHandler</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#getHandler--">getHandler</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#getManagedSessionCount--">getManagedSessionCount</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#getManagedSessions--">getManagedSessions</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#getScheduledWriteBytes--">getScheduledWriteBytes</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#getScheduledWriteMessages--">getScheduledWriteMessages</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/session/IoSessionConfig.html" title="interface in org.apache.mina.core.session">IoSessionConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#getSessionConfig--">getSessionConfig</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/session/IoSessionDataStructureFactory.html" title="interface in org.apache.mina.core.session">IoSessionDataStructureFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#getSessionDataStructureFactory--">getSessionDataStructureFactory</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/service/IoServiceStatistics.html" title="class in org.apache.mina.core.service">IoServiceStatistics</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#getStatistics--">getStatistics</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/service/TransportMetadata.html" title="interface in org.apache.mina.core.service">TransportMetadata</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#getTransportMetadata--">getTransportMetadata</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#isActive--">isActive</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#isDisposed--">isDisposed</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#isDisposing--">isDisposing</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#removeListener-org.apache.mina.core.service.IoServiceListener-">removeListener</a></span>(<a href="../../../../../org/apache/mina/core/service/IoServiceListener.html" title="interface in org.apache.mina.core.service">IoServiceListener</a>&nbsp;listener)</code>
<div class="block">Removed an existing <a href="../../../../../org/apache/mina/core/service/IoServiceListener.html" title="interface in org.apache.mina.core.service"><code>IoServiceListener</code></a> that listens any events
 related with this service.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#setFilterChainBuilder-org.apache.mina.core.filterchain.IoFilterChainBuilder-">setFilterChainBuilder</a></span>(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChainBuilder.html" title="interface in org.apache.mina.core.filterchain">IoFilterChainBuilder</a>&nbsp;builder)</code>
<div class="block">Sets the <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChainBuilder.html" title="interface in org.apache.mina.core.filterchain"><code>IoFilterChainBuilder</code></a> which will build the
 <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html" title="interface in org.apache.mina.core.filterchain"><code>IoFilterChain</code></a> of all <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a>s which is created
 by this service.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#setHandler-org.apache.mina.core.service.IoHandler-">setHandler</a></span>(<a href="../../../../../org/apache/mina/core/service/IoHandler.html" title="interface in org.apache.mina.core.service">IoHandler</a>&nbsp;handler)</code>
<div class="block">Sets the handler which will handle all connections managed by this service.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/IoService.html#setSessionDataStructureFactory-org.apache.mina.core.session.IoSessionDataStructureFactory-">setSessionDataStructureFactory</a></span>(<a href="../../../../../org/apache/mina/core/session/IoSessionDataStructureFactory.html" title="interface in org.apache.mina.core.session">IoSessionDataStructureFactory</a>&nbsp;sessionDataStructureFactory)</code>
<div class="block">Sets the <a href="../../../../../org/apache/mina/core/session/IoSessionDataStructureFactory.html" title="interface in org.apache.mina.core.session"><code>IoSessionDataStructureFactory</code></a> that provides
 related data structures for a new session created by this service.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getTransportMetadata--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTransportMetadata</h4>
<pre><a href="../../../../../org/apache/mina/core/service/TransportMetadata.html" title="interface in org.apache.mina.core.service">TransportMetadata</a>&nbsp;getTransportMetadata()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../org/apache/mina/core/service/TransportMetadata.html" title="interface in org.apache.mina.core.service"><code>TransportMetadata</code></a> that this service runs on.</dd>
</dl>
</li>
</ul>
<a name="addListener-org.apache.mina.core.service.IoServiceListener-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addListener</h4>
<pre>void&nbsp;addListener(<a href="../../../../../org/apache/mina/core/service/IoServiceListener.html" title="interface in org.apache.mina.core.service">IoServiceListener</a>&nbsp;listener)</pre>
<div class="block">Adds an <a href="../../../../../org/apache/mina/core/service/IoServiceListener.html" title="interface in org.apache.mina.core.service"><code>IoServiceListener</code></a> that listens any events related with
 this service.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - The listener to add</dd>
</dl>
</li>
</ul>
<a name="removeListener-org.apache.mina.core.service.IoServiceListener-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeListener</h4>
<pre>void&nbsp;removeListener(<a href="../../../../../org/apache/mina/core/service/IoServiceListener.html" title="interface in org.apache.mina.core.service">IoServiceListener</a>&nbsp;listener)</pre>
<div class="block">Removed an existing <a href="../../../../../org/apache/mina/core/service/IoServiceListener.html" title="interface in org.apache.mina.core.service"><code>IoServiceListener</code></a> that listens any events
 related with this service.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - The listener to use</dd>
</dl>
</li>
</ul>
<a name="isDisposing--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDisposing</h4>
<pre>boolean&nbsp;isDisposing()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><tt>true</tt> if and if only <a href="../../../../../org/apache/mina/core/service/IoService.html#dispose--"><code>dispose()</code></a> method has
 been called.  Please note that this method will return <tt>true</tt>
 even after all the related resources are released.</dd>
</dl>
</li>
</ul>
<a name="isDisposed--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDisposed</h4>
<pre>boolean&nbsp;isDisposed()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><tt>true</tt> if and if only all resources of this processor
 have been disposed.</dd>
</dl>
</li>
</ul>
<a name="dispose--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dispose</h4>
<pre>void&nbsp;dispose()</pre>
<div class="block">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.</div>
</li>
</ul>
<a name="dispose-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dispose</h4>
<pre>void&nbsp;dispose(boolean&nbsp;awaitTermination)</pre>
<div class="block">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 with <code>awaitTermination</code> = true
 will probably lead to a deadlock.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>awaitTermination</code> - When true this method will block until the underlying ExecutorService is terminated</dd>
</dl>
</li>
</ul>
<a name="getHandler--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHandler</h4>
<pre><a href="../../../../../org/apache/mina/core/service/IoHandler.html" title="interface in org.apache.mina.core.service">IoHandler</a>&nbsp;getHandler()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the handler which will handle all connections managed by this service.</dd>
</dl>
</li>
</ul>
<a name="setHandler-org.apache.mina.core.service.IoHandler-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setHandler</h4>
<pre>void&nbsp;setHandler(<a href="../../../../../org/apache/mina/core/service/IoHandler.html" title="interface in org.apache.mina.core.service">IoHandler</a>&nbsp;handler)</pre>
<div class="block">Sets the handler which will handle all connections managed by this service.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handler</code> - The IoHandler to use</dd>
</dl>
</li>
</ul>
<a name="getManagedSessions--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getManagedSessions</h4>
<pre><a href="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&gt;&nbsp;getManagedSessions()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the map of all sessions which are currently managed by this
 service.  The key of map is the <a href="../../../../../org/apache/mina/core/session/IoSession.html#getId--"><code>ID</code></a> of the
 session. An empty collection if there's no session.</dd>
</dl>
</li>
</ul>
<a name="getManagedSessionCount--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getManagedSessionCount</h4>
<pre>int&nbsp;getManagedSessionCount()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of all sessions which are currently managed by this
 service.</dd>
</dl>
</li>
</ul>
<a name="getSessionConfig--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSessionConfig</h4>
<pre><a href="../../../../../org/apache/mina/core/session/IoSessionConfig.html" title="interface in org.apache.mina.core.session">IoSessionConfig</a>&nbsp;getSessionConfig()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the default configuration of the new <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a>s
 created by this service.</dd>
</dl>
</li>
</ul>
<a name="getFilterChainBuilder--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFilterChainBuilder</h4>
<pre><a href="../../../../../org/apache/mina/core/filterchain/IoFilterChainBuilder.html" title="interface in org.apache.mina.core.filterchain">IoFilterChainBuilder</a>&nbsp;getFilterChainBuilder()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChainBuilder.html" title="interface in org.apache.mina.core.filterchain"><code>IoFilterChainBuilder</code></a> which will build the
 <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html" title="interface in org.apache.mina.core.filterchain"><code>IoFilterChain</code></a> of all <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a>s which is created
 by this service.
 The default value is an empty <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChainBuilder.html" title="class in org.apache.mina.core.filterchain"><code>DefaultIoFilterChainBuilder</code></a>.</dd>
</dl>
</li>
</ul>
<a name="setFilterChainBuilder-org.apache.mina.core.filterchain.IoFilterChainBuilder-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFilterChainBuilder</h4>
<pre>void&nbsp;setFilterChainBuilder(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChainBuilder.html" title="interface in org.apache.mina.core.filterchain">IoFilterChainBuilder</a>&nbsp;builder)</pre>
<div class="block">Sets the <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChainBuilder.html" title="interface in org.apache.mina.core.filterchain"><code>IoFilterChainBuilder</code></a> which will build the
 <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html" title="interface in org.apache.mina.core.filterchain"><code>IoFilterChain</code></a> of all <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a>s which is created
 by this service.
 If you specify <tt>null</tt> this property will be set to
 an empty <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChainBuilder.html" title="class in org.apache.mina.core.filterchain"><code>DefaultIoFilterChainBuilder</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>builder</code> - The filter chain builder to use</dd>
</dl>
</li>
</ul>
<a name="getFilterChain--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFilterChain</h4>
<pre><a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChainBuilder.html" title="class in org.apache.mina.core.filterchain">DefaultIoFilterChainBuilder</a>&nbsp;getFilterChain()</pre>
<div class="block">A shortcut for <tt>( ( DefaultIoFilterChainBuilder ) </tt><a href="../../../../../org/apache/mina/core/service/IoService.html#getFilterChainBuilder--"><code>getFilterChainBuilder()</code></a><tt> )</tt>.
 Please note that the returned object is not a <b>real</b> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html" title="interface in org.apache.mina.core.filterchain"><code>IoFilterChain</code></a>
 but a <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChainBuilder.html" title="class in org.apache.mina.core.filterchain"><code>DefaultIoFilterChainBuilder</code></a>.  Modifying the returned builder
 won't affect the existing <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a>s at all, because
 <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChainBuilder.html" title="interface in org.apache.mina.core.filterchain"><code>IoFilterChainBuilder</code></a>s affect only newly created <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a>s.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The filter chain in use</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the current <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChainBuilder.html" title="interface in org.apache.mina.core.filterchain"><code>IoFilterChainBuilder</code></a> is
                               not a <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChainBuilder.html" title="class in org.apache.mina.core.filterchain"><code>DefaultIoFilterChainBuilder</code></a></dd>
</dl>
</li>
</ul>
<a name="isActive--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isActive</h4>
<pre>boolean&nbsp;isActive()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a value of whether or not this service is active</dd>
</dl>
</li>
</ul>
<a name="getActivationTime--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getActivationTime</h4>
<pre>long&nbsp;getActivationTime()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the time when this service was activated.  It returns the last
 time when this service was activated if the service is not active now.</dd>
</dl>
</li>
</ul>
<a name="broadcast-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>broadcast</h4>
<pre><a href="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/mina/core/future/WriteFuture.html" title="interface in org.apache.mina.core.future">WriteFuture</a>&gt;&nbsp;broadcast(<a href="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;message)</pre>
<div class="block">Writes the specified <code>message</code> to all the <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a>s
 managed by this service.  This method is a convenience shortcut for
 <a href="../../../../../org/apache/mina/core/IoUtil.html#broadcast-java.lang.Object-java.util.Collection-"><code>IoUtil.broadcast(Object, Collection)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>message</code> - the message to broadcast</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The set of WriteFuture associated to the message being broadcasted</dd>
</dl>
</li>
</ul>
<a name="getSessionDataStructureFactory--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSessionDataStructureFactory</h4>
<pre><a href="../../../../../org/apache/mina/core/session/IoSessionDataStructureFactory.html" title="interface in org.apache.mina.core.session">IoSessionDataStructureFactory</a>&nbsp;getSessionDataStructureFactory()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../org/apache/mina/core/session/IoSessionDataStructureFactory.html" title="interface in org.apache.mina.core.session"><code>IoSessionDataStructureFactory</code></a> that provides
 related data structures for a new session created by this service.</dd>
</dl>
</li>
</ul>
<a name="setSessionDataStructureFactory-org.apache.mina.core.session.IoSessionDataStructureFactory-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSessionDataStructureFactory</h4>
<pre>void&nbsp;setSessionDataStructureFactory(<a href="../../../../../org/apache/mina/core/session/IoSessionDataStructureFactory.html" title="interface in org.apache.mina.core.session">IoSessionDataStructureFactory</a>&nbsp;sessionDataStructureFactory)</pre>
<div class="block">Sets the <a href="../../../../../org/apache/mina/core/session/IoSessionDataStructureFactory.html" title="interface in org.apache.mina.core.session"><code>IoSessionDataStructureFactory</code></a> that provides
 related data structures for a new session created by this service.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sessionDataStructureFactory</code> - The factory to use</dd>
</dl>
</li>
</ul>
<a name="getScheduledWriteBytes--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getScheduledWriteBytes</h4>
<pre>int&nbsp;getScheduledWriteBytes()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of bytes scheduled to be written</dd>
</dl>
</li>
</ul>
<a name="getScheduledWriteMessages--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getScheduledWriteMessages</h4>
<pre>int&nbsp;getScheduledWriteMessages()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of messages scheduled to be written</dd>
</dl>
</li>
</ul>
<a name="getStatistics--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getStatistics</h4>
<pre><a href="../../../../../org/apache/mina/core/service/IoServiceStatistics.html" title="class in org.apache.mina.core.service">IoServiceStatistics</a>&nbsp;getStatistics()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The statistics object for this service.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/IoService.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/mina/core/service/IoServiceListener.html" title="interface in org.apache.mina.core.service"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/mina/core/service/IoService.html" target="_top">Frames</a></li>
<li><a href="IoService.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2004&#x2013;2019 <a href="http://mina.apache.org/">Apache MINA Project</a>. All rights reserved.</small></p>
</body>
</html>
