
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="en" lang="en">
    <!-- generated by Apache Maven JXR (jdk8) -->
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
        <title>Apache MINA 2.0.21 Cross Reference Package org.apache.mina.core.service</title>
        <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" />
    </head>

    <body>
                <div class="topNav">
            <a name="navbar_top"><!--   --></a>
            <a href="#skip-navbar_top" title="Skip navigation links"></a>
            <a name="navbar_top_firstrow"><!--   --></a>
            <ul class="navList" title="Navigation">
                <li><a href="../../../../../overview-summary.html">Overview</a></li>
                <li class="navBarCell1Rev">Package</li>
                <li>Class</li>
                <li>Use</li>
                <li>Tree</li>
                <li>Deprecated</li>
                <li>Index</li>
                <li>Help</li>
            </ul>
            <div class="aboutLanguage"><em><strong>Apache MINA 2.0.21 Cross Reference</strong></em></div>
        </div>
        <div class="subNav">
            <ul class="navList">
                <li>Prev</li>
                <li>Next</li>
            </ul>
            <ul class="navList">
                <li><a href="../../../../../index.html?overview-summary.html" target="_top">Frames</a></li>
                <li><a href="package-summary.html" target="_top">No Frames</a></li>
            </ul>
            <ul class="navList" id="allclasses_navbar_top">
                <li>All Classes</li>
            </ul>
            <div>
            </div>
            <a name="skip-navbar_top"><!--   --></a>
        </div>
        
                <div class="header">
            <h1 title="Package" class="title">Package org.apache.mina.core.service</h1>
        </div>
        <div class="contentContainer">
            <ul class="blockList">
                <li class="blockList">
                    <table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
                        <caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
                        <thead>
                            <tr>
                                <th class="colFirst colLast" scope="col">Class</th>
                            </tr>
                        </thead>
                        <tbody>
                                            		                                                                                                <tr class="altColor">
                                <td class="colFirst colLast">
                                    <a href="AbstractIoServiceDIRMINA1076Test.html#AbstractIoServiceDIRMINA1076Test" target="classFrame" title="class in org.apache.mina.core.service">AbstractIoServiceDIRMINA1076Test</a>
                                </td>
                            </tr>
                                                                                                                        <tr class="rowColor">
                                <td class="colFirst colLast">
                                    <a href="AbstractIoServiceDIRMINA1076Test.html#AbstractIoServiceDIRMINA1076Test.ClientHandler" target="classFrame" title="class in org.apache.mina.core.service">AbstractIoServiceDIRMINA1076Test.ClientHandler</a>
                                </td>
                            </tr>
                                                                                                                        <tr class="altColor">
                                <td class="colFirst colLast">
                                    <a href="AbstractIoServiceDIRMINA1076Test.html#AbstractIoServiceDIRMINA1076Test.ServerHandler" target="classFrame" title="class in org.apache.mina.core.service">AbstractIoServiceDIRMINA1076Test.ServerHandler</a>
                                </td>
                            </tr>
                                                                                                                        <tr class="rowColor">
                                <td class="colFirst colLast">
                                    <a href="AbstractIoServiceTest.html#AbstractIoServiceTest" target="classFrame" title="class in org.apache.mina.core.service">AbstractIoServiceTest</a>
                                </td>
                            </tr>
                                                                                                                        <tr class="altColor">
                                <td class="colFirst colLast">
                                    <a href="AbstractIoServiceTest.html#AbstractIoServiceTest.ClientHandler" target="classFrame" title="class in org.apache.mina.core.service">AbstractIoServiceTest.ClientHandler</a>
                                </td>
                            </tr>
                                                                                                                        <tr class="rowColor">
                                <td class="colFirst colLast">
                                    <a href="AbstractIoServiceTest.html#AbstractIoServiceTest.ServerHandler" target="classFrame" title="class in org.apache.mina.core.service">AbstractIoServiceTest.ServerHandler</a>
                                </td>
                            </tr>
                                                                                                                        <tr class="altColor">
                                <td class="colFirst colLast">
                                    <a href="SslTestHandshakeExceptionDIRMINA1077Test.html#SslTestHandshakeExceptionDIRMINA1077Test" target="classFrame" title="class in org.apache.mina.core.service">SslTestHandshakeExceptionDIRMINA1077Test</a>
                                </td>
                            </tr>
                                                                                                                        <tr class="rowColor">
                                <td class="colFirst colLast">
                                    <a href="SslTestHandshakeExceptionDIRMINA1077Test.html#SslTestHandshakeExceptionDIRMINA1077Test.TestHandler" target="classFrame" title="class in org.apache.mina.core.service">SslTestHandshakeExceptionDIRMINA1077Test.TestHandler</a>
                                </td>
                            </tr>
                                                    </tbody>
                    </table>
                </li>
            </ul>
        </div>
        
                <div class="bottomNav">
            <a name="navbar_bottom"><!--   --></a>
            <a href="#skip-navbar_bottom" title="Skip navigation links"></a>
            <a name="navbar_bottom_firstrow"><!--   --></a>
            <ul class="navList" title="Navigation">
                <li><a href="../../../../../overview-summary.html">Overview</a></li>
                <li class="navBarCell1Rev">Package</li>
                <li>Class</li>
                <li>Use</li>
                <li>Tree</li>
                <li>Deprecated</li>
                <li>Index</li>
                <li>Help</li>
            </ul>
            <div class="aboutLanguage"><em><strong>Apache MINA 2.0.21 Cross Reference</strong></em></div>
        </div>
        <div class="subNav">
            <ul class="navList">
                <li>Prev</li>
                <li>Next</li>
            </ul>
            <ul class="navList">
                <li><a href="../../../../../index.html?overview-summary.html" target="_top">Frames</a></li>
                <li><a href="package-summary.html" target="_top">No Frames</a></li>
            </ul>
            <ul class="navList" id="allclasses_navbar_bottom">
                <li>All Classes</li>
            </ul>
            <div>
            </div>
            <a name="skip-navbar_bottom"><!--   --></a>
        </div>
        
        <div id="footer">
            Copyright &#169; 2004&#x2013;2019 <a href="http://mina.apache.org/">Apache MINA Project</a>. All rights reserved.
        </div>
    </body>
</html>