blob: bf706d063312e90e406ad23abfe6f93b786bf54d [file] [log] [blame]
<!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 22:49:56 CET 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AbstractPollingIoConnector (Apache MINA 2.0.0-RC1 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="AbstractPollingIoConnector (Apache MINA 2.0.0-RC1 API Documentation)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":10,"i4":6,"i5":10,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6};
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/AbstractPollingIoConnector.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/polling/AbstractPollingIoAcceptor.html" title="class in org.apache.mina.core.polling"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.ConnectionRequest.html" title="class in org.apache.mina.core.polling"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/mina/core/polling/AbstractPollingIoConnector.html" target="_top">Frames</a></li>
<li><a href="AbstractPollingIoConnector.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="#fields.inherited.from.class.org.apache.mina.core.service.AbstractIoService">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>Field&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.polling</div>
<h2 title="Class AbstractPollingIoConnector" class="title">Class AbstractPollingIoConnector&lt;T extends <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html" title="class in org.apache.mina.core.session">AbstractIoSession</a>,H&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/mina/core/service/AbstractIoService.html" title="class in org.apache.mina.core.service">org.apache.mina.core.service.AbstractIoService</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html" title="class in org.apache.mina.core.service">org.apache.mina.core.service.AbstractIoConnector</a></li>
<li>
<ul class="inheritance">
<li>org.apache.mina.core.polling.AbstractPollingIoConnector&lt;T,H&gt;</li>
</ul>
</li>
</ul>
</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/IoConnector.html" title="interface in org.apache.mina.core.service">IoConnector</a>, <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/transport/socket/apr/AprSocketConnector.html" title="class in org.apache.mina.transport.socket.apr">AprSocketConnector</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/NioSocketConnector.html" title="class in org.apache.mina.transport.socket.nio">NioSocketConnector</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">AbstractPollingIoConnector&lt;T extends <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html" title="class in org.apache.mina.core.session">AbstractIoSession</a>,H&gt;</span>
extends <a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html" title="class in org.apache.mina.core.service">AbstractIoConnector</a></pre>
<div class="block">A base class for implementing client transport using a polling strategy. The
underlying sockets will be checked in an active loop and woke up when an
socket needed to be processed. This class handle the logic behind binding,
connecting and disposing the client sockets. A <code>Executor</code> will be used
for running client connection, and an <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="class in org.apache.mina.core.polling"><code>AbstractPollingIoProcessor</code></a> will
be used for processing connected client I/O operations like reading, writing
and closing.
All the low level methods for binding, connecting, closing need to be
provided by the subclassing implementation.</div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd><a href="http://mina.apache.org">Apache MINA Project</a></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/mina/transport/socket/nio/NioSocketConnector.html" title="class in org.apache.mina.transport.socket.nio"><code>for a example of implementation</code></a></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>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.ConnectionRequest.html" title="class in org.apache.mina.core.polling">AbstractPollingIoConnector.ConnectionRequest</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.mina.core.service.AbstractIoService">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.mina.core.service.<a href="../../../../../org/apache/mina/core/service/AbstractIoService.html" title="class in org.apache.mina.core.service">AbstractIoService</a></h3>
<code><a href="../../../../../org/apache/mina/core/service/AbstractIoService.ServiceOperationFuture.html" title="class in org.apache.mina.core.service">AbstractIoService.ServiceOperationFuture</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.mina.core.service.AbstractIoService">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.mina.core.service.<a href="../../../../../org/apache/mina/core/service/AbstractIoService.html" title="class in org.apache.mina.core.service">AbstractIoService</a></h3>
<code><a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#disposalLock">disposalLock</a></code></li>
</ul>
</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/polling/AbstractPollingIoConnector.html#AbstractPollingIoConnector-org.apache.mina.core.session.IoSessionConfig-java.lang.Class-">AbstractPollingIoConnector</a></span>(<a href="../../../../../org/apache/mina/core/session/IoSessionConfig.html" title="interface in org.apache.mina.core.session">IoSessionConfig</a>&nbsp;sessionConfig,
java.lang.Class&lt;? extends <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">T</a>&gt;&gt;&nbsp;processorClass)</code>
<div class="block">Constructor for <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="class in org.apache.mina.core.polling"><code>AbstractPollingIoConnector</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html#AbstractPollingIoConnector-org.apache.mina.core.session.IoSessionConfig-java.lang.Class-int-">AbstractPollingIoConnector</a></span>(<a href="../../../../../org/apache/mina/core/session/IoSessionConfig.html" title="interface in org.apache.mina.core.session">IoSessionConfig</a>&nbsp;sessionConfig,
java.lang.Class&lt;? extends <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">T</a>&gt;&gt;&nbsp;processorClass,
int&nbsp;processorCount)</code>
<div class="block">Constructor for <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="class in org.apache.mina.core.polling"><code>AbstractPollingIoConnector</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html#AbstractPollingIoConnector-org.apache.mina.core.session.IoSessionConfig-java.util.concurrent.Executor-org.apache.mina.core.service.IoProcessor-">AbstractPollingIoConnector</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,
<a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">T</a>&gt;&nbsp;processor)</code>
<div class="block">Constructor for <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="class in org.apache.mina.core.polling"><code>AbstractPollingIoConnector</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html#AbstractPollingIoConnector-org.apache.mina.core.session.IoSessionConfig-org.apache.mina.core.service.IoProcessor-">AbstractPollingIoConnector</a></span>(<a href="../../../../../org/apache/mina/core/session/IoSessionConfig.html" title="interface in org.apache.mina.core.session">IoSessionConfig</a>&nbsp;sessionConfig,
<a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">T</a>&gt;&nbsp;processor)</code>
<div class="block">Constructor for <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="class in org.apache.mina.core.polling"><code>AbstractPollingIoConnector</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>protected abstract java.util.Iterator&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">H</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html#allHandles--">allHandles</a></span>()</code>
<div class="block"><code>Iterator</code> for all the client sockets polled for connection.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html#close-H-">close</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">H</a>&nbsp;handle)</code>
<div class="block">Close a client socket.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html#connect-H-java.net.SocketAddress-">connect</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">H</a>&nbsp;handle,
java.net.SocketAddress&nbsp;remoteAddress)</code>
<div class="block">Connect a newly created client socket handle to a remote <code>SocketAddress</code>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/mina/core/future/ConnectFuture.html" title="interface in org.apache.mina.core.future">ConnectFuture</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html#connect0-java.net.SocketAddress-java.net.SocketAddress-org.apache.mina.core.session.IoSessionInitializer-">connect0</a></span>(java.net.SocketAddress&nbsp;remoteAddress,
java.net.SocketAddress&nbsp;localAddress,
<a href="../../../../../org/apache/mina/core/session/IoSessionInitializer.html" title="interface in org.apache.mina.core.session">IoSessionInitializer</a>&lt;? extends <a href="../../../../../org/apache/mina/core/future/ConnectFuture.html" title="interface in org.apache.mina.core.future">ConnectFuture</a>&gt;&nbsp;sessionInitializer)</code>
<div class="block">Implement this method to perform the actual connect operation.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html#destroy--">destroy</a></span>()</code>
<div class="block">Destroy the polling system, will be called when this <a href="../../../../../org/apache/mina/core/service/IoConnector.html" title="interface in org.apache.mina.core.service"><code>IoConnector</code></a>
implementation will be disposed.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected <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/polling/AbstractPollingIoConnector.html#dispose0--">dispose0</a></span>()</code>
<div class="block">Implement this method to release any acquired resources.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html#finishConnect-H-">finishConnect</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">H</a>&nbsp;handle)</code>
<div class="block">Finish the connection process of a client socket after it was marked as ready to process
by the <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html#select-int-"><code>select(int)</code></a> call.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected abstract <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.ConnectionRequest.html" title="class in org.apache.mina.core.polling">AbstractPollingIoConnector.ConnectionRequest</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html#getConnectionRequest-H-">getConnectionRequest</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">H</a>&nbsp;handle)</code>
<div class="block">get the <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.ConnectionRequest.html" title="class in org.apache.mina.core.polling"><code>AbstractPollingIoConnector.ConnectionRequest</code></a> for a given client socket handle</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html#init--">init</a></span>()</code>
<div class="block">Initialize the polling system, will be called at construction time.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected abstract <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">H</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html#newHandle-java.net.SocketAddress-">newHandle</a></span>(java.net.SocketAddress&nbsp;localAddress)</code>
<div class="block">Create a new client socket handle from a local <code>SocketAddress</code></div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>protected abstract <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">T</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html#newSession-org.apache.mina.core.service.IoProcessor-H-">newSession</a></span>(<a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">T</a>&gt;&nbsp;processor,
<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">H</a>&nbsp;handle)</code>
<div class="block">Create a new <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a> from a connected socket client handle.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html#register-H-org.apache.mina.core.polling.AbstractPollingIoConnector.ConnectionRequest-">register</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">H</a>&nbsp;handle,
<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.ConnectionRequest.html" title="class in org.apache.mina.core.polling">AbstractPollingIoConnector.ConnectionRequest</a>&nbsp;request)</code>
<div class="block">Register a new client socket for connection, add it to connection polling</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>protected abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html#select-int-">select</a></span>(int&nbsp;timeout)</code>
<div class="block">Check for connected sockets, interrupt when at least a connection is processed (connected or
failed to connect).</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected abstract java.util.Iterator&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">H</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html#selectedHandles--">selectedHandles</a></span>()</code>
<div class="block"><code>Iterator</code> for the set of client sockets found connected or
failed to connect during the last <code>#select()</code> call.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html#wakeup--">wakeup</a></span>()</code>
<div class="block">Interrupt the <code>#select()</code> method.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.mina.core.service.AbstractIoConnector">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.mina.core.service.<a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html" title="class in org.apache.mina.core.service">AbstractIoConnector</a></h3>
<code><a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html#connect--">connect</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html#connect-org.apache.mina.core.session.IoSessionInitializer-">connect</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html#connect-java.net.SocketAddress-">connect</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html#connect-java.net.SocketAddress-org.apache.mina.core.session.IoSessionInitializer-">connect</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html#connect-java.net.SocketAddress-java.net.SocketAddress-">connect</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html#connect-java.net.SocketAddress-java.net.SocketAddress-org.apache.mina.core.session.IoSessionInitializer-">connect</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html#finishSessionInitialization0-org.apache.mina.core.session.IoSession-org.apache.mina.core.future.IoFuture-">finishSessionInitialization0</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html#getConnectTimeout--">getConnectTimeout</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html#getConnectTimeoutCheckInterval--">getConnectTimeoutCheckInterval</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html#getConnectTimeoutMillis--">getConnectTimeoutMillis</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html#getDefaultRemoteAddress--">getDefaultRemoteAddress</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html#setConnectTimeout-int-">setConnectTimeout</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html#setConnectTimeoutCheckInterval-long-">setConnectTimeoutCheckInterval</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html#setConnectTimeoutMillis-long-">setConnectTimeoutMillis</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html#setDefaultRemoteAddress-java.net.SocketAddress-">setDefaultRemoteAddress</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html#toString--">toString</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.mina.core.service.AbstractIoService">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.mina.core.service.<a href="../../../../../org/apache/mina/core/service/AbstractIoService.html" title="class in org.apache.mina.core.service">AbstractIoService</a></h3>
<code><a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#addListener-org.apache.mina.core.service.IoServiceListener-">addListener</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#broadcast-java.lang.Object-">broadcast</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#dispose--">dispose</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#executeWorker-java.lang.Runnable-">executeWorker</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#executeWorker-java.lang.Runnable-java.lang.String-">executeWorker</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#getActivationTime--">getActivationTime</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#getFilterChain--">getFilterChain</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#getFilterChainBuilder--">getFilterChainBuilder</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#getHandler--">getHandler</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#getListeners--">getListeners</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#getManagedSessionCount--">getManagedSessionCount</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#getManagedSessions--">getManagedSessions</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#getScheduledWriteBytes--">getScheduledWriteBytes</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#getScheduledWriteMessages--">getScheduledWriteMessages</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#getSessionConfig--">getSessionConfig</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#getSessionDataStructureFactory--">getSessionDataStructureFactory</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#getStatistics--">getStatistics</a>, <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>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#isActive--">isActive</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#isDisposed--">isDisposed</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#isDisposing--">isDisposing</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#removeListener-org.apache.mina.core.service.IoServiceListener-">removeListener</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#setFilterChainBuilder-org.apache.mina.core.filterchain.IoFilterChainBuilder-">setFilterChainBuilder</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#setHandler-org.apache.mina.core.service.IoHandler-">setHandler</a>, <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#setSessionDataStructureFactory-org.apache.mina.core.session.IoSessionDataStructureFactory-">setSessionDataStructureFactory</a></code></li>
</ul>
<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, 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#addListener-org.apache.mina.core.service.IoServiceListener-">addListener</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#broadcast-java.lang.Object-">broadcast</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#dispose--">dispose</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#getActivationTime--">getActivationTime</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#getFilterChain--">getFilterChain</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#getFilterChainBuilder--">getFilterChainBuilder</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#getHandler--">getHandler</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#getManagedSessionCount--">getManagedSessionCount</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#getManagedSessions--">getManagedSessions</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#getScheduledWriteBytes--">getScheduledWriteBytes</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#getScheduledWriteMessages--">getScheduledWriteMessages</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#getSessionConfig--">getSessionConfig</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#getSessionDataStructureFactory--">getSessionDataStructureFactory</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#getStatistics--">getStatistics</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#getTransportMetadata--">getTransportMetadata</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#isActive--">isActive</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#isDisposed--">isDisposed</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#isDisposing--">isDisposing</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#removeListener-org.apache.mina.core.service.IoServiceListener-">removeListener</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#setFilterChainBuilder-org.apache.mina.core.filterchain.IoFilterChainBuilder-">setFilterChainBuilder</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#setHandler-org.apache.mina.core.service.IoHandler-">setHandler</a>, <a href="../../../../../org/apache/mina/core/service/IoService.html#setSessionDataStructureFactory-org.apache.mina.core.session.IoSessionDataStructureFactory-">setSessionDataStructureFactory</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="AbstractPollingIoConnector-org.apache.mina.core.session.IoSessionConfig-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AbstractPollingIoConnector</h4>
<pre>protected&nbsp;AbstractPollingIoConnector(<a href="../../../../../org/apache/mina/core/session/IoSessionConfig.html" title="interface in org.apache.mina.core.session">IoSessionConfig</a>&nbsp;sessionConfig,
java.lang.Class&lt;? extends <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">T</a>&gt;&gt;&nbsp;processorClass)</pre>
<div class="block">Constructor for <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="class in org.apache.mina.core.polling"><code>AbstractPollingIoConnector</code></a>. You need to provide a default
session configuration, a class of <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><code>IoProcessor</code></a> which will be instantiated in a
<a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="class in org.apache.mina.core.service"><code>SimpleIoProcessorPool</code></a> for better scaling in multiprocessor systems. The default
pool size will be used.</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>processorClass</code> - a <code>Class</code> of <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><code>IoProcessor</code></a> for the associated <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a>
type.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="class in org.apache.mina.core.service"><code>SimpleIoProcessorPool</code></a></dd>
</dl>
</li>
</ul>
<a name="AbstractPollingIoConnector-org.apache.mina.core.session.IoSessionConfig-java.lang.Class-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AbstractPollingIoConnector</h4>
<pre>protected&nbsp;AbstractPollingIoConnector(<a href="../../../../../org/apache/mina/core/session/IoSessionConfig.html" title="interface in org.apache.mina.core.session">IoSessionConfig</a>&nbsp;sessionConfig,
java.lang.Class&lt;? extends <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">T</a>&gt;&gt;&nbsp;processorClass,
int&nbsp;processorCount)</pre>
<div class="block">Constructor for <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="class in org.apache.mina.core.polling"><code>AbstractPollingIoConnector</code></a>. You need to provide a default
session configuration, a class of <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><code>IoProcessor</code></a> which will be instantiated in a
<a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="class in org.apache.mina.core.service"><code>SimpleIoProcessorPool</code></a> for using multiple thread for better scaling in multiprocessor
systems.</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>processorClass</code> - a <code>Class</code> of <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><code>IoProcessor</code></a> for the associated <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a>
type.</dd>
<dd><code>processorCount</code> - the amount of processor to instantiate for the pool</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="class in org.apache.mina.core.service"><code>SimpleIoProcessorPool</code></a></dd>
</dl>
</li>
</ul>
<a name="AbstractPollingIoConnector-org.apache.mina.core.session.IoSessionConfig-org.apache.mina.core.service.IoProcessor-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AbstractPollingIoConnector</h4>
<pre>protected&nbsp;AbstractPollingIoConnector(<a href="../../../../../org/apache/mina/core/session/IoSessionConfig.html" title="interface in org.apache.mina.core.session">IoSessionConfig</a>&nbsp;sessionConfig,
<a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">T</a>&gt;&nbsp;processor)</pre>
<div class="block">Constructor for <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="class in org.apache.mina.core.polling"><code>AbstractPollingIoConnector</code></a>. You need to provide a default
session configuration, a default <code>Executor</code> will be created using
<code>Executors.newCachedThreadPool()</code>.
<code>AbstractIoService#AbstractIoService(IoSessionConfig, Executor)</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>processor</code> - the <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><code>IoProcessor</code></a> for processing the <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a> of this transport, triggering
events to the bound <a href="../../../../../org/apache/mina/core/service/IoHandler.html" title="interface in org.apache.mina.core.service"><code>IoHandler</code></a> and processing the chains of <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain"><code>IoFilter</code></a></dd>
</dl>
</li>
</ul>
<a name="AbstractPollingIoConnector-org.apache.mina.core.session.IoSessionConfig-java.util.concurrent.Executor-org.apache.mina.core.service.IoProcessor-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractPollingIoConnector</h4>
<pre>protected&nbsp;AbstractPollingIoConnector(<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,
<a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">T</a>&gt;&nbsp;processor)</pre>
<div class="block">Constructor for <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="class in org.apache.mina.core.polling"><code>AbstractPollingIoConnector</code></a>. You need to provide a default
session configuration and an <code>Executor</code> for handling I/O events. If
null <code>Executor</code> is provided, a default one will be created using
<code>Executors.newCachedThreadPool()</code>.
<code>AbstractIoService#AbstractIoService(IoSessionConfig, Executor)</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 asynchronous execution of I/O
events. Can be <code>null</code>.</dd>
<dd><code>processor</code> - the <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><code>IoProcessor</code></a> for processing the <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a> of this transport, triggering
events to the bound <a href="../../../../../org/apache/mina/core/service/IoHandler.html" title="interface in org.apache.mina.core.service"><code>IoHandler</code></a> and processing the chains of <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain"><code>IoFilter</code></a></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="init--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre>protected abstract&nbsp;void&nbsp;init()
throws java.lang.Exception</pre>
<div class="block">Initialize the polling system, will be called at construction time.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - any exception thrown by the underlying system calls</dd>
</dl>
</li>
</ul>
<a name="destroy--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>destroy</h4>
<pre>protected abstract&nbsp;void&nbsp;destroy()
throws java.lang.Exception</pre>
<div class="block">Destroy the polling system, will be called when this <a href="../../../../../org/apache/mina/core/service/IoConnector.html" title="interface in org.apache.mina.core.service"><code>IoConnector</code></a>
implementation will be disposed.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - any exception thrown by the underlying systems calls</dd>
</dl>
</li>
</ul>
<a name="newHandle-java.net.SocketAddress-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newHandle</h4>
<pre>protected abstract&nbsp;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">H</a>&nbsp;newHandle(java.net.SocketAddress&nbsp;localAddress)
throws java.lang.Exception</pre>
<div class="block">Create a new client socket handle from a local <code>SocketAddress</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>localAddress</code> - the socket address for binding the new client socket</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new client socket handle</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - any exception thrown by the underlying systems calls</dd>
</dl>
</li>
</ul>
<a name="connect-java.lang.Object-java.net.SocketAddress-">
<!-- -->
</a><a name="connect-H-java.net.SocketAddress-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>connect</h4>
<pre>protected abstract&nbsp;boolean&nbsp;connect(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">H</a>&nbsp;handle,
java.net.SocketAddress&nbsp;remoteAddress)
throws java.lang.Exception</pre>
<div class="block">Connect a newly created client socket handle to a remote <code>SocketAddress</code>.
This operation is non-blocking, so at end of the call the socket can be still in connection
process.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handle</code> - the client socket handle</dd>
<dd><code>remoteAddress</code> - the remote address where to connect</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><tt>true</tt> if a connection was established, <tt>false</tt> if this client socket
is in non-blocking mode and the connection operation is in progress</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a name="finishConnect-java.lang.Object-">
<!-- -->
</a><a name="finishConnect-H-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>finishConnect</h4>
<pre>protected abstract&nbsp;boolean&nbsp;finishConnect(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">H</a>&nbsp;handle)
throws java.lang.Exception</pre>
<div class="block">Finish the connection process of a client socket after it was marked as ready to process
by the <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html#select-int-"><code>select(int)</code></a> call. The socket will be connected or reported as connection
failed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handle</code> - the client socket handle to finsh to connect</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the socket is connected</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - any exception thrown by the underlying systems calls</dd>
</dl>
</li>
</ul>
<a name="newSession-org.apache.mina.core.service.IoProcessor-java.lang.Object-">
<!-- -->
</a><a name="newSession-org.apache.mina.core.service.IoProcessor-H-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newSession</h4>
<pre>protected abstract&nbsp;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">T</a>&nbsp;newSession(<a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">T</a>&gt;&nbsp;processor,
<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">H</a>&nbsp;handle)
throws java.lang.Exception</pre>
<div class="block">Create a new <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a> from a connected socket client handle.
Will assign the created <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a> to the given <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><code>IoProcessor</code></a> for
managing future I/O events.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>processor</code> - the processor in charge of this session</dd>
<dd><code>handle</code> - the newly connected client socket handle</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - any exception thrown by the underlying systems calls</dd>
</dl>
</li>
</ul>
<a name="close-java.lang.Object-">
<!-- -->
</a><a name="close-H-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>protected abstract&nbsp;void&nbsp;close(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">H</a>&nbsp;handle)
throws java.lang.Exception</pre>
<div class="block">Close a client socket.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handle</code> - the client socket</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - any exception thrown by the underlying systems calls</dd>
</dl>
</li>
</ul>
<a name="wakeup--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wakeup</h4>
<pre>protected abstract&nbsp;void&nbsp;wakeup()</pre>
<div class="block">Interrupt the <code>#select()</code> method. Used when the poll set need to be modified.</div>
</li>
</ul>
<a name="select-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>select</h4>
<pre>protected abstract&nbsp;int&nbsp;select(int&nbsp;timeout)
throws java.lang.Exception</pre>
<div class="block">Check for connected sockets, interrupt when at least a connection is processed (connected or
failed to connect). All the client socket descriptors processed need to be returned by
<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html#selectedHandles--"><code>selectedHandles()</code></a></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of socket having received some data</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - any exception thrown by the underlying systems calls</dd>
</dl>
</li>
</ul>
<a name="selectedHandles--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectedHandles</h4>
<pre>protected abstract&nbsp;java.util.Iterator&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">H</a>&gt;&nbsp;selectedHandles()</pre>
<div class="block"><code>Iterator</code> for the set of client sockets found connected or
failed to connect during the last <code>#select()</code> call.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of client socket handles to process</dd>
</dl>
</li>
</ul>
<a name="allHandles--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allHandles</h4>
<pre>protected abstract&nbsp;java.util.Iterator&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">H</a>&gt;&nbsp;allHandles()</pre>
<div class="block"><code>Iterator</code> for all the client sockets polled for connection.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of client sockets currently polled for connection</dd>
</dl>
</li>
</ul>
<a name="register-java.lang.Object-org.apache.mina.core.polling.AbstractPollingIoConnector.ConnectionRequest-">
<!-- -->
</a><a name="register-H-org.apache.mina.core.polling.AbstractPollingIoConnector.ConnectionRequest-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>register</h4>
<pre>protected abstract&nbsp;void&nbsp;register(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">H</a>&nbsp;handle,
<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.ConnectionRequest.html" title="class in org.apache.mina.core.polling">AbstractPollingIoConnector.ConnectionRequest</a>&nbsp;request)
throws java.lang.Exception</pre>
<div class="block">Register a new client socket for connection, add it to connection polling</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handle</code> - client socket handle</dd>
<dd><code>request</code> - the associated <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.ConnectionRequest.html" title="class in org.apache.mina.core.polling"><code>AbstractPollingIoConnector.ConnectionRequest</code></a></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - any exception thrown by the underlying systems calls</dd>
</dl>
</li>
</ul>
<a name="getConnectionRequest-java.lang.Object-">
<!-- -->
</a><a name="getConnectionRequest-H-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConnectionRequest</h4>
<pre>protected abstract&nbsp;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.ConnectionRequest.html" title="class in org.apache.mina.core.polling">AbstractPollingIoConnector.ConnectionRequest</a>&nbsp;getConnectionRequest(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html" title="type parameter in AbstractPollingIoConnector">H</a>&nbsp;handle)</pre>
<div class="block">get the <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.ConnectionRequest.html" title="class in org.apache.mina.core.polling"><code>AbstractPollingIoConnector.ConnectionRequest</code></a> for a given client socket handle</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handle</code> - the socket client handle</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the connection request if the socket is connecting otherwise <code>null</code></dd>
</dl>
</li>
</ul>
<a name="dispose0--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dispose0</h4>
<pre>protected final&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>AbstractIoService.dispose()</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/AbstractIoService.html#dispose0--">dispose0</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/mina/core/service/AbstractIoService.html" title="class in org.apache.mina.core.service">AbstractIoService</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a name="connect0-java.net.SocketAddress-java.net.SocketAddress-org.apache.mina.core.session.IoSessionInitializer-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>connect0</h4>
<pre>protected final&nbsp;<a href="../../../../../org/apache/mina/core/future/ConnectFuture.html" title="interface in org.apache.mina.core.future">ConnectFuture</a>&nbsp;connect0(java.net.SocketAddress&nbsp;remoteAddress,
java.net.SocketAddress&nbsp;localAddress,
<a href="../../../../../org/apache/mina/core/session/IoSessionInitializer.html" title="interface in org.apache.mina.core.session">IoSessionInitializer</a>&lt;? extends <a href="../../../../../org/apache/mina/core/future/ConnectFuture.html" title="interface in org.apache.mina.core.future">ConnectFuture</a>&gt;&nbsp;sessionInitializer)</pre>
<div class="block">Implement this method to perform the actual connect operation.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html#connect0-java.net.SocketAddress-java.net.SocketAddress-org.apache.mina.core.session.IoSessionInitializer-">connect0</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/mina/core/service/AbstractIoConnector.html" title="class in org.apache.mina.core.service">AbstractIoConnector</a></code></dd>
<dd><code>localAddress</code> - <tt>null</tt> if no local address is specified</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/AbstractPollingIoConnector.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/polling/AbstractPollingIoAcceptor.html" title="class in org.apache.mina.core.polling"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.ConnectionRequest.html" title="class in org.apache.mina.core.polling"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/mina/core/polling/AbstractPollingIoConnector.html" target="_top">Frames</a></li>
<li><a href="AbstractPollingIoConnector.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="#fields.inherited.from.class.org.apache.mina.core.service.AbstractIoService">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>Field&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>