<!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 Sat Mar 16 19:50:18 CET 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AbstractIoService (Apache MINA 2.0.0-M5 API Documentation)</title>
<meta name="date" content="2019-03-16">
<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="AbstractIoService (Apache MINA 2.0.0-M5 API Documentation)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":6,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete 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/AbstractIoService.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/AbstractIoConnector.html" title="class in org.apache.mina.core.service"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/mina/core/service/AbstractIoService.ServiceOperationFuture.html" title="class 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/AbstractIoService.html" target="_top">Frames</a></li>
<li><a href="AbstractIoService.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&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="Class AbstractIoService" class="title">Class AbstractIoService</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.mina.core.service.AbstractIoService</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</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></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">AbstractIoService</span>
extends java.lang.Object
implements <a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></pre>
<div class="block">Base implementation of <a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service"><code>IoService</code></a>s.
 
 An instance of IoService contains an Executor which will handle the incoming
 events.</div>
<dl>
<dt><span class="simpleTagLabel">Version:</span></dt>
<dd>$Rev: 751504 $, $Date: 2009-03-08 20:24:58 +0100 (Sun, 08 Mar 2009) $</dd>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>The Apache MINA Project (dev@mina.apache.org)</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/AbstractIoService.ServiceOperationFuture.html" title="class in org.apache.mina.core.service">AbstractIoService.ServiceOperationFuture</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#disposalLock">disposalLock</a></span></code>
<div class="block">A lock object which must be acquired when related resources are
 destroyed.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#AbstractIoService-org.apache.mina.core.session.IoSessionConfig-java.util.concurrent.Executor-">AbstractIoService</a></span>(<a href="../../../../../org/apache/mina/core/session/IoSessionConfig.html" title="interface in org.apache.mina.core.session">IoSessionConfig</a>&nbsp;sessionConfig,
                 java.util.concurrent.Executor&nbsp;executor)</code>
<div class="block">Constructor for <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html" title="class in org.apache.mina.core.service"><code>AbstractIoService</code></a>.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== 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><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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/AbstractIoService.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>java.util.Set&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/AbstractIoService.html#broadcast-java.lang.Object-">broadcast</a></span>(java.lang.Object&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/AbstractIoService.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>protected abstract <a href="../../../../../org/apache/mina/core/future/IoFuture.html" title="interface in org.apache.mina.core.future">IoFuture</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#dispose0--">dispose0</a></span>()</code>
<div class="block">Implement this method to release any acquired resources.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#executeWorker-java.lang.Runnable-">executeWorker</a></span>(java.lang.Runnable&nbsp;worker)</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#executeWorker-java.lang.Runnable-java.lang.String-">executeWorker</a></span>(java.lang.Runnable&nbsp;worker,
             java.lang.String&nbsp;suffix)</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#finishSessionInitialization0-org.apache.mina.core.session.IoSession-org.apache.mina.core.future.IoFuture-">finishSessionInitialization0</a></span>(<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&nbsp;session,
                            <a href="../../../../../org/apache/mina/core/future/IoFuture.html" title="interface in org.apache.mina.core.future">IoFuture</a>&nbsp;future)</code>
<div class="block">Implement this method to perform additional tasks required for session
 initialization.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#getActivationTime--">getActivationTime</a></span>()</code>
<div class="block">Returns the time when this service was activated.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<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/AbstractIoService.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>IoService.getFilterChainBuilder()</code></a><tt> )</tt>.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<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/AbstractIoService.html#getFilterChainBuilder--">getFilterChainBuilder</a></span>()</code>
<div class="block">Returns 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="i10" class="altColor">
<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/AbstractIoService.html#getHandler--">getHandler</a></span>()</code>
<div class="block">Returns the handler which will handle all connections managed by this service.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/service/IoServiceListenerSupport.html" title="class in org.apache.mina.core.service">IoServiceListenerSupport</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#getListeners--">getListeners</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#getManagedSessionCount--">getManagedSessionCount</a></span>()</code>
<div class="block">Returns the number of all sessions which are currently managed by this
 service.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.Long,<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/AbstractIoService.html#getManagedSessions--">getManagedSessions</a></span>()</code>
<div class="block">Returns the map of all sessions which are currently managed by this
 service.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#getScheduledWriteBytes--">getScheduledWriteBytes</a></span>()</code>
<div class="block">Returns the number of bytes scheduled to be written</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#getScheduledWriteMessages--">getScheduledWriteMessages</a></span>()</code>
<div class="block">Returns the number of messages scheduled to be written</div>
</td>
</tr>
<tr id="i16" 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/AbstractIoService.html#getSessionConfig--">getSessionConfig</a></span>()</code>
<div class="block">Returns 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.</div>
</td>
</tr>
<tr id="i17" 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/AbstractIoService.html#getSessionDataStructureFactory--">getSessionDataStructureFactory</a></span>()</code>
<div class="block">Returns 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>
<tr id="i18" 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/AbstractIoService.html#getStatistics--">getStatistics</a></span>()</code>
<div class="block">Returns the IoServiceStatistics object for this service.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#initSession-org.apache.mina.core.session.IoSession-org.apache.mina.core.future.IoFuture-org.apache.mina.core.session.IoSessionInitializer-">initSession</a></span>(<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&nbsp;session,
           <a href="../../../../../org/apache/mina/core/future/IoFuture.html" title="interface in org.apache.mina.core.future">IoFuture</a>&nbsp;future,
           <a href="../../../../../org/apache/mina/core/session/IoSessionInitializer.html" title="interface in org.apache.mina.core.session">IoSessionInitializer</a>&nbsp;sessionInitializer)</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#isActive--">isActive</a></span>()</code>
<div class="block">Returns a value of whether or not this service is active</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#isDisposed--">isDisposed</a></span>()</code>
<div class="block">Returns <tt>true</tt> if and if only all resources of this processor
 have been disposed.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#isDisposing--">isDisposing</a></span>()</code>
<div class="block">Returns <tt>true</tt> if and if only <a href="../../../../../org/apache/mina/core/service/IoService.html#dispose--"><code>IoService.dispose()</code></a> method has
 been called.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/AbstractIoService.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="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/AbstractIoService.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="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/AbstractIoService.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="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/AbstractIoService.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>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.mina.core.service.IoService">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.mina.core.service.<a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></h3>
<code><a href="../../../../../org/apache/mina/core/service/IoService.html#getTransportMetadata--">getTransportMetadata</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="disposalLock">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>disposalLock</h4>
<pre>protected final&nbsp;java.lang.Object disposalLock</pre>
<div class="block">A lock object which must be acquired when related resources are
 destroyed.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="AbstractIoService-org.apache.mina.core.session.IoSessionConfig-java.util.concurrent.Executor-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractIoService</h4>
<pre>protected&nbsp;AbstractIoService(<a href="../../../../../org/apache/mina/core/session/IoSessionConfig.html" title="interface in org.apache.mina.core.session">IoSessionConfig</a>&nbsp;sessionConfig,
                            java.util.concurrent.Executor&nbsp;executor)</pre>
<div class="block">Constructor for <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html" title="class in org.apache.mina.core.service"><code>AbstractIoService</code></a>. You need to provide a default
 session configuration and an <code>Executor</code> for handling I/O events. If
 a null <code>Executor</code> is provided, a default one will be created using
 <code>Executors.newCachedThreadPool()</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sessionConfig</code> - the default configuration for the managed <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a></dd>
<dd><code>executor</code> - the <code>Executor</code> used for handling execution of I/O
            events. Can be <code>null</code>.</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getFilterChainBuilder--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFilterChainBuilder</h4>
<pre>public final&nbsp;<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChainBuilder.html" title="interface in org.apache.mina.core.filterchain">IoFilterChainBuilder</a>&nbsp;getFilterChainBuilder()</pre>
<div class="block">Returns 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>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#getFilterChainBuilder--">getFilterChainBuilder</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
</dl>
</li>
</ul>
<a name="setFilterChainBuilder-org.apache.mina.core.filterchain.IoFilterChainBuilder-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFilterChainBuilder</h4>
<pre>public final&nbsp;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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#setFilterChainBuilder-org.apache.mina.core.filterchain.IoFilterChainBuilder-">setFilterChainBuilder</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
</dl>
</li>
</ul>
<a name="getFilterChain--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFilterChain</h4>
<pre>public final&nbsp;<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>IoService.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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#getFilterChain--">getFilterChain</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
</dl>
</li>
</ul>
<a name="addListener-org.apache.mina.core.service.IoServiceListener-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addListener</h4>
<pre>public final&nbsp;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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#addListener-org.apache.mina.core.service.IoServiceListener-">addListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
</dl>
</li>
</ul>
<a name="removeListener-org.apache.mina.core.service.IoServiceListener-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeListener</h4>
<pre>public final&nbsp;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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#removeListener-org.apache.mina.core.service.IoServiceListener-">removeListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
</dl>
</li>
</ul>
<a name="isActive--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isActive</h4>
<pre>public final&nbsp;boolean&nbsp;isActive()</pre>
<div class="block">Returns a value of whether or not this service is active</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#isActive--">isActive</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether of not the service is active.</dd>
</dl>
</li>
</ul>
<a name="isDisposing--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDisposing</h4>
<pre>public final&nbsp;boolean&nbsp;isDisposing()</pre>
<div class="block">Returns <tt>true</tt> if and if only <a href="../../../../../org/apache/mina/core/service/IoService.html#dispose--"><code>IoService.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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#isDisposing--">isDisposing</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
</dl>
</li>
</ul>
<a name="isDisposed--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDisposed</h4>
<pre>public final&nbsp;boolean&nbsp;isDisposed()</pre>
<div class="block">Returns <tt>true</tt> if and if only all resources of this processor
 have been disposed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#isDisposed--">isDisposed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
</dl>
</li>
</ul>
<a name="dispose--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dispose</h4>
<pre>public final&nbsp;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>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#dispose--">dispose</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
</dl>
</li>
</ul>
<a name="dispose0--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dispose0</h4>
<pre>protected abstract&nbsp;<a href="../../../../../org/apache/mina/core/future/IoFuture.html" title="interface in org.apache.mina.core.future">IoFuture</a>&nbsp;dispose0()
                              throws java.lang.Exception</pre>
<div class="block">Implement this method to release any acquired resources.  This method
 is invoked only once by <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#dispose--"><code>dispose()</code></a>.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a name="getManagedSessions--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getManagedSessions</h4>
<pre>public final&nbsp;java.util.Map&lt;java.lang.Long,<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&gt;&nbsp;getManagedSessions()</pre>
<div class="block">Returns 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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#getManagedSessions--">getManagedSessions</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the sessions. 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>public final&nbsp;int&nbsp;getManagedSessionCount()</pre>
<div class="block">Returns the number of all sessions which are currently managed by this
 service.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#getManagedSessionCount--">getManagedSessionCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
</dl>
</li>
</ul>
<a name="getHandler--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHandler</h4>
<pre>public final&nbsp;<a href="../../../../../org/apache/mina/core/service/IoHandler.html" title="interface in org.apache.mina.core.service">IoHandler</a>&nbsp;getHandler()</pre>
<div class="block">Returns the handler which will handle all connections managed by this service.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#getHandler--">getHandler</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
</dl>
</li>
</ul>
<a name="setHandler-org.apache.mina.core.service.IoHandler-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setHandler</h4>
<pre>public final&nbsp;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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#setHandler-org.apache.mina.core.service.IoHandler-">setHandler</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
</dl>
</li>
</ul>
<a name="getSessionConfig--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSessionConfig</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/mina/core/session/IoSessionConfig.html" title="interface in org.apache.mina.core.session">IoSessionConfig</a>&nbsp;getSessionConfig()</pre>
<div class="block">Returns 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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#getSessionConfig--">getSessionConfig</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
</dl>
</li>
</ul>
<a name="getSessionDataStructureFactory--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSessionDataStructureFactory</h4>
<pre>public final&nbsp;<a href="../../../../../org/apache/mina/core/session/IoSessionDataStructureFactory.html" title="interface in org.apache.mina.core.session">IoSessionDataStructureFactory</a>&nbsp;getSessionDataStructureFactory()</pre>
<div class="block">Returns 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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#getSessionDataStructureFactory--">getSessionDataStructureFactory</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
</dl>
</li>
</ul>
<a name="setSessionDataStructureFactory-org.apache.mina.core.session.IoSessionDataStructureFactory-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSessionDataStructureFactory</h4>
<pre>public final&nbsp;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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#setSessionDataStructureFactory-org.apache.mina.core.session.IoSessionDataStructureFactory-">setSessionDataStructureFactory</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
</dl>
</li>
</ul>
<a name="getStatistics--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStatistics</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/mina/core/service/IoServiceStatistics.html" title="class in org.apache.mina.core.service">IoServiceStatistics</a>&nbsp;getStatistics()</pre>
<div class="block">Returns the IoServiceStatistics object for this service.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#getStatistics--">getStatistics</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The statistics object for this service.</dd>
</dl>
</li>
</ul>
<a name="getActivationTime--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getActivationTime</h4>
<pre>public final&nbsp;long&nbsp;getActivationTime()</pre>
<div class="block">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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#getActivationTime--">getActivationTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The time by using <code>System.currentTimeMillis()</code></dd>
</dl>
</li>
</ul>
<a name="broadcast-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>broadcast</h4>
<pre>public final&nbsp;java.util.Set&lt;<a href="../../../../../org/apache/mina/core/future/WriteFuture.html" title="interface in org.apache.mina.core.future">WriteFuture</a>&gt;&nbsp;broadcast(java.lang.Object&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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#broadcast-java.lang.Object-">broadcast</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
</dl>
</li>
</ul>
<a name="getListeners--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getListeners</h4>
<pre>public final&nbsp;<a href="../../../../../org/apache/mina/core/service/IoServiceListenerSupport.html" title="class in org.apache.mina.core.service">IoServiceListenerSupport</a>&nbsp;getListeners()</pre>
</li>
</ul>
<a name="executeWorker-java.lang.Runnable-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executeWorker</h4>
<pre>protected final&nbsp;void&nbsp;executeWorker(java.lang.Runnable&nbsp;worker)</pre>
</li>
</ul>
<a name="executeWorker-java.lang.Runnable-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executeWorker</h4>
<pre>protected final&nbsp;void&nbsp;executeWorker(java.lang.Runnable&nbsp;worker,
                                   java.lang.String&nbsp;suffix)</pre>
</li>
</ul>
<a name="initSession-org.apache.mina.core.session.IoSession-org.apache.mina.core.future.IoFuture-org.apache.mina.core.session.IoSessionInitializer-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initSession</h4>
<pre>protected final&nbsp;void&nbsp;initSession(<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&nbsp;session,
                                 <a href="../../../../../org/apache/mina/core/future/IoFuture.html" title="interface in org.apache.mina.core.future">IoFuture</a>&nbsp;future,
                                 <a href="../../../../../org/apache/mina/core/session/IoSessionInitializer.html" title="interface in org.apache.mina.core.session">IoSessionInitializer</a>&nbsp;sessionInitializer)</pre>
</li>
</ul>
<a name="finishSessionInitialization0-org.apache.mina.core.session.IoSession-org.apache.mina.core.future.IoFuture-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>finishSessionInitialization0</h4>
<pre>protected&nbsp;void&nbsp;finishSessionInitialization0(<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&nbsp;session,
                                            <a href="../../../../../org/apache/mina/core/future/IoFuture.html" title="interface in org.apache.mina.core.future">IoFuture</a>&nbsp;future)</pre>
<div class="block">Implement this method to perform additional tasks required for session
 initialization. Do not call this method directly;
 <code>#finishSessionInitialization(IoSession, IoFuture, IoSessionInitializer)</code> will call
 this method instead.</div>
</li>
</ul>
<a name="getScheduledWriteBytes--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getScheduledWriteBytes</h4>
<pre>public&nbsp;int&nbsp;getScheduledWriteBytes()</pre>
<div class="block">Returns the number of bytes scheduled to be written</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#getScheduledWriteBytes--">getScheduledWriteBytes</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
<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="blockListLast">
<li class="blockList">
<h4>getScheduledWriteMessages</h4>
<pre>public&nbsp;int&nbsp;getScheduledWriteMessages()</pre>
<div class="block">Returns the number of messages scheduled to be written</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoService.html#getScheduledWriteMessages--">getScheduledWriteMessages</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of messages scheduled to be written</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/AbstractIoService.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/AbstractIoConnector.html" title="class in org.apache.mina.core.service"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/mina/core/service/AbstractIoService.ServiceOperationFuture.html" title="class 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/AbstractIoService.html" target="_top">Frames</a></li>
<li><a href="AbstractIoService.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&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-2019 <a href="http://mina.apache.org/">Apache MINA Project</a>. All Rights Reserved.</small></p>
</body>
</html>
