<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>IoService xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/core/service/IoService.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> *  Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> *  or more contributor license agreements.  See the NOTICE file</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> *  distributed with this work for additional information</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> *  regarding copyright ownership.  The ASF licenses this file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> *  to you under the Apache License, Version 2.0 (the</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> *  "License"); you may not use this file except in compliance</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> *  with the License.  You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> *    <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> *  Unless required by applicable law or agreed to in writing,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> *  software distributed under the License is distributed on an</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> *  KIND, either express or implied.  See the License for the</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> *  specific language governing permissions and limitations</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> *  under the License.</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> *</em>
<a name="19" href="#19">19</a>  <em class="jxr_comment"> */</em>
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.core.service;
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.Set;
<a name="24" href="#24">24</a>  
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.IoUtil;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.filterchain.IoFilterChain;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.filterchain.IoFilterChainBuilder;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.future.WriteFuture;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IoSession;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IoSessionConfig;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IoSessionDataStructureFactory;
<a name="33" href="#33">33</a>  
<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment">/**</em>
<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> * Base interface for all {@link IoAcceptor}s and {@link IoConnector}s</em>
<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * that provide I/O service and manage {@link IoSession}s.</em>
<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> *</em>
<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="http://mina.apache.org" target="alexandria_uri">http://mina.apache.org</a>"&gt;Apache MINA Project&lt;/a&gt;</em>
<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> */</em>
<a name="40" href="#40">40</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../../org/apache/mina/core/service/IoService.html">IoService</a> {
<a name="41" href="#41">41</a>      <em class="jxr_javadoccomment">/**</em>
<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment">     * Returns the {@link TransportMetadata} that this service runs on.</em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment">     */</em>
<a name="44" href="#44">44</a>      <a href="../../../../../org/apache/mina/core/service/TransportMetadata.html">TransportMetadata</a> getTransportMetadata();
<a name="45" href="#45">45</a>  
<a name="46" href="#46">46</a>      <em class="jxr_javadoccomment">/**</em>
<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment">     * Adds an {@link IoServiceListener} that listens any events related with</em>
<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment">     * this service.</em>
<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment">     */</em>
<a name="50" href="#50">50</a>      <strong class="jxr_keyword">void</strong> addListener(<a href="../../../../../org/apache/mina/core/service/IoServiceListener.html">IoServiceListener</a> listener);
<a name="51" href="#51">51</a>  
<a name="52" href="#52">52</a>      <em class="jxr_javadoccomment">/**</em>
<a name="53" href="#53">53</a>  <em class="jxr_javadoccomment">     * Removed an existing {@link IoServiceListener} that listens any events</em>
<a name="54" href="#54">54</a>  <em class="jxr_javadoccomment">     * related with this service.</em>
<a name="55" href="#55">55</a>  <em class="jxr_javadoccomment">     */</em>
<a name="56" href="#56">56</a>      <strong class="jxr_keyword">void</strong> removeListener(<a href="../../../../../org/apache/mina/core/service/IoServiceListener.html">IoServiceListener</a> listener);
<a name="57" href="#57">57</a>  
<a name="58" href="#58">58</a>      <em class="jxr_javadoccomment">/**</em>
<a name="59" href="#59">59</a>  <em class="jxr_javadoccomment">     * Returns &lt;tt&gt;true&lt;/tt&gt; if and if only {@link #dispose()} method has</em>
<a name="60" href="#60">60</a>  <em class="jxr_javadoccomment">     * been called.  Please note that this method will return &lt;tt&gt;true&lt;/tt&gt;</em>
<a name="61" href="#61">61</a>  <em class="jxr_javadoccomment">     * even after all the related resources are released.</em>
<a name="62" href="#62">62</a>  <em class="jxr_javadoccomment">     */</em>
<a name="63" href="#63">63</a>      <strong class="jxr_keyword">boolean</strong> isDisposing();
<a name="64" href="#64">64</a>  
<a name="65" href="#65">65</a>      <em class="jxr_javadoccomment">/**</em>
<a name="66" href="#66">66</a>  <em class="jxr_javadoccomment">     * Returns &lt;tt&gt;true&lt;/tt&gt; if and if only all resources of this processor</em>
<a name="67" href="#67">67</a>  <em class="jxr_javadoccomment">     * have been disposed.</em>
<a name="68" href="#68">68</a>  <em class="jxr_javadoccomment">     */</em>
<a name="69" href="#69">69</a>      <strong class="jxr_keyword">boolean</strong> isDisposed();
<a name="70" href="#70">70</a>  
<a name="71" href="#71">71</a>      <em class="jxr_javadoccomment">/**</em>
<a name="72" href="#72">72</a>  <em class="jxr_javadoccomment">     * Releases any resources allocated by this service.  Please note that</em>
<a name="73" href="#73">73</a>  <em class="jxr_javadoccomment">     * this method might block as long as there are any sessions managed by</em>
<a name="74" href="#74">74</a>  <em class="jxr_javadoccomment">     * this service.</em>
<a name="75" href="#75">75</a>  <em class="jxr_javadoccomment">     */</em>
<a name="76" href="#76">76</a>      <strong class="jxr_keyword">void</strong> dispose();
<a name="77" href="#77">77</a>  
<a name="78" href="#78">78</a>      <em class="jxr_javadoccomment">/**</em>
<a name="79" href="#79">79</a>  <em class="jxr_javadoccomment">     * Returns the handler which will handle all connections managed by this service.</em>
<a name="80" href="#80">80</a>  <em class="jxr_javadoccomment">     */</em>
<a name="81" href="#81">81</a>      <a href="../../../../../org/apache/mina/core/service/IoHandler.html">IoHandler</a> getHandler();
<a name="82" href="#82">82</a>  
<a name="83" href="#83">83</a>      <em class="jxr_javadoccomment">/**</em>
<a name="84" href="#84">84</a>  <em class="jxr_javadoccomment">     * Sets the handler which will handle all connections managed by this service.</em>
<a name="85" href="#85">85</a>  <em class="jxr_javadoccomment">     */</em>
<a name="86" href="#86">86</a>      <strong class="jxr_keyword">void</strong> setHandler(<a href="../../../../../org/apache/mina/core/service/IoHandler.html">IoHandler</a> handler);
<a name="87" href="#87">87</a>  
<a name="88" href="#88">88</a>      <em class="jxr_javadoccomment">/**</em>
<a name="89" href="#89">89</a>  <em class="jxr_javadoccomment">     * Returns the map of all sessions which are currently managed by this</em>
<a name="90" href="#90">90</a>  <em class="jxr_javadoccomment">     * service.  The key of map is the {@link IoSession#getId() ID} of the</em>
<a name="91" href="#91">91</a>  <em class="jxr_javadoccomment">     * session.</em>
<a name="92" href="#92">92</a>  <em class="jxr_javadoccomment">     *</em>
<a name="93" href="#93">93</a>  <em class="jxr_javadoccomment">     * @return the sessions. An empty collection if there's no session.</em>
<a name="94" href="#94">94</a>  <em class="jxr_javadoccomment">     */</em>
<a name="95" href="#95">95</a>      Map&lt;Long, IoSession&gt; getManagedSessions();
<a name="96" href="#96">96</a>  
<a name="97" href="#97">97</a>      <em class="jxr_javadoccomment">/**</em>
<a name="98" href="#98">98</a>  <em class="jxr_javadoccomment">     * Returns the number of all sessions which are currently managed by this</em>
<a name="99" href="#99">99</a>  <em class="jxr_javadoccomment">     * service.</em>
<a name="100" href="#100">100</a> <em class="jxr_javadoccomment">     */</em>
<a name="101" href="#101">101</a>     <strong class="jxr_keyword">int</strong> getManagedSessionCount();
<a name="102" href="#102">102</a> 
<a name="103" href="#103">103</a>     <em class="jxr_javadoccomment">/**</em>
<a name="104" href="#104">104</a> <em class="jxr_javadoccomment">     * Returns the default configuration of the new {@link IoSession}s</em>
<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">     * created by this service.</em>
<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">     */</em>
<a name="107" href="#107">107</a>     <a href="../../../../../org/apache/mina/core/session/IoSessionConfig.html">IoSessionConfig</a> getSessionConfig();
<a name="108" href="#108">108</a> 
<a name="109" href="#109">109</a>     <em class="jxr_javadoccomment">/**</em>
<a name="110" href="#110">110</a> <em class="jxr_javadoccomment">     * Returns the {@link IoFilterChainBuilder} which will build the</em>
<a name="111" href="#111">111</a> <em class="jxr_javadoccomment">     * {@link IoFilterChain} of all {@link IoSession}s which is created</em>
<a name="112" href="#112">112</a> <em class="jxr_javadoccomment">     * by this service.</em>
<a name="113" href="#113">113</a> <em class="jxr_javadoccomment">     * The default value is an empty {@link DefaultIoFilterChainBuilder}.</em>
<a name="114" href="#114">114</a> <em class="jxr_javadoccomment">     */</em>
<a name="115" href="#115">115</a>     <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChainBuilder.html">IoFilterChainBuilder</a> getFilterChainBuilder();
<a name="116" href="#116">116</a> 
<a name="117" href="#117">117</a>     <em class="jxr_javadoccomment">/**</em>
<a name="118" href="#118">118</a> <em class="jxr_javadoccomment">     * Sets the {@link IoFilterChainBuilder} which will build the</em>
<a name="119" href="#119">119</a> <em class="jxr_javadoccomment">     * {@link IoFilterChain} of all {@link IoSession}s which is created</em>
<a name="120" href="#120">120</a> <em class="jxr_javadoccomment">     * by this service.</em>
<a name="121" href="#121">121</a> <em class="jxr_javadoccomment">     * If you specify &lt;tt&gt;null&lt;/tt&gt; this property will be set to</em>
<a name="122" href="#122">122</a> <em class="jxr_javadoccomment">     * an empty {@link DefaultIoFilterChainBuilder}.</em>
<a name="123" href="#123">123</a> <em class="jxr_javadoccomment">     */</em>
<a name="124" href="#124">124</a>     <strong class="jxr_keyword">void</strong> setFilterChainBuilder(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChainBuilder.html">IoFilterChainBuilder</a> builder);
<a name="125" href="#125">125</a> 
<a name="126" href="#126">126</a>     <em class="jxr_javadoccomment">/**</em>
<a name="127" href="#127">127</a> <em class="jxr_javadoccomment">     * A shortcut for &lt;tt&gt;( ( DefaultIoFilterChainBuilder ) &lt;/tt&gt;{@link #getFilterChainBuilder()}&lt;tt&gt; )&lt;/tt&gt;.</em>
<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">     * Please note that the returned object is not a &lt;b&gt;real&lt;/b&gt; {@link IoFilterChain}</em>
<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">     * but a {@link DefaultIoFilterChainBuilder}.  Modifying the returned builder</em>
<a name="130" href="#130">130</a> <em class="jxr_javadoccomment">     * won't affect the existing {@link IoSession}s at all, because</em>
<a name="131" href="#131">131</a> <em class="jxr_javadoccomment">     * {@link IoFilterChainBuilder}s affect only newly created {@link IoSession}s.</em>
<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">     *</em>
<a name="133" href="#133">133</a> <em class="jxr_javadoccomment">     * @throws IllegalStateException if the current {@link IoFilterChainBuilder} is</em>
<a name="134" href="#134">134</a> <em class="jxr_javadoccomment">     *                               not a {@link DefaultIoFilterChainBuilder}</em>
<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">     */</em>
<a name="136" href="#136">136</a>     <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChainBuilder.html">DefaultIoFilterChainBuilder</a> getFilterChain();
<a name="137" href="#137">137</a> 
<a name="138" href="#138">138</a>     <em class="jxr_javadoccomment">/**</em>
<a name="139" href="#139">139</a> <em class="jxr_javadoccomment">     * Returns a value of whether or not this service is active</em>
<a name="140" href="#140">140</a> <em class="jxr_javadoccomment">     *</em>
<a name="141" href="#141">141</a> <em class="jxr_javadoccomment">     * @return whether of not the service is active.</em>
<a name="142" href="#142">142</a> <em class="jxr_javadoccomment">     */</em>
<a name="143" href="#143">143</a>     <strong class="jxr_keyword">boolean</strong> isActive();
<a name="144" href="#144">144</a> 
<a name="145" href="#145">145</a>     <em class="jxr_javadoccomment">/**</em>
<a name="146" href="#146">146</a> <em class="jxr_javadoccomment">     * Returns the time when this service was activated.  It returns the last</em>
<a name="147" href="#147">147</a> <em class="jxr_javadoccomment">     * time when this service was activated if the service is not active now.</em>
<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">     *</em>
<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">     * @return The time by using {@link System#currentTimeMillis()}</em>
<a name="150" href="#150">150</a> <em class="jxr_javadoccomment">     */</em>
<a name="151" href="#151">151</a>     <strong class="jxr_keyword">long</strong> getActivationTime();
<a name="152" href="#152">152</a> 
<a name="153" href="#153">153</a>     <em class="jxr_javadoccomment">/**</em>
<a name="154" href="#154">154</a> <em class="jxr_javadoccomment">     * Writes the specified {@code message} to all the {@link IoSession}s</em>
<a name="155" href="#155">155</a> <em class="jxr_javadoccomment">     * managed by this service.  This method is a convenience shortcut for</em>
<a name="156" href="#156">156</a> <em class="jxr_javadoccomment">     * {@link IoUtil#broadcast(Object, Collection)}.</em>
<a name="157" href="#157">157</a> <em class="jxr_javadoccomment">     */</em>
<a name="158" href="#158">158</a>     Set&lt;WriteFuture&gt; broadcast(Object message);
<a name="159" href="#159">159</a> 
<a name="160" href="#160">160</a>     <em class="jxr_javadoccomment">/**</em>
<a name="161" href="#161">161</a> <em class="jxr_javadoccomment">     * Returns the {@link IoSessionDataStructureFactory} that provides</em>
<a name="162" href="#162">162</a> <em class="jxr_javadoccomment">     * related data structures for a new session created by this service.</em>
<a name="163" href="#163">163</a> <em class="jxr_javadoccomment">     */</em>
<a name="164" href="#164">164</a>     <a href="../../../../../org/apache/mina/core/session/IoSessionDataStructureFactory.html">IoSessionDataStructureFactory</a> getSessionDataStructureFactory();
<a name="165" href="#165">165</a> 
<a name="166" href="#166">166</a>     <em class="jxr_javadoccomment">/**</em>
<a name="167" href="#167">167</a> <em class="jxr_javadoccomment">     * Sets the {@link IoSessionDataStructureFactory} that provides</em>
<a name="168" href="#168">168</a> <em class="jxr_javadoccomment">     * related data structures for a new session created by this service.</em>
<a name="169" href="#169">169</a> <em class="jxr_javadoccomment">     */</em>
<a name="170" href="#170">170</a>     <strong class="jxr_keyword">void</strong> setSessionDataStructureFactory(<a href="../../../../../org/apache/mina/core/session/IoSessionDataStructureFactory.html">IoSessionDataStructureFactory</a> sessionDataStructureFactory);
<a name="171" href="#171">171</a> 
<a name="172" href="#172">172</a>     <em class="jxr_javadoccomment">/**</em>
<a name="173" href="#173">173</a> <em class="jxr_javadoccomment">     * Returns the number of bytes scheduled to be written</em>
<a name="174" href="#174">174</a> <em class="jxr_javadoccomment">     *</em>
<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">     * @return The number of bytes scheduled to be written</em>
<a name="176" href="#176">176</a> <em class="jxr_javadoccomment">     */</em>
<a name="177" href="#177">177</a>     <strong class="jxr_keyword">int</strong> getScheduledWriteBytes();
<a name="178" href="#178">178</a> 
<a name="179" href="#179">179</a>     <em class="jxr_javadoccomment">/**</em>
<a name="180" href="#180">180</a> <em class="jxr_javadoccomment">     * Returns the number of messages scheduled to be written</em>
<a name="181" href="#181">181</a> <em class="jxr_javadoccomment">     *</em>
<a name="182" href="#182">182</a> <em class="jxr_javadoccomment">     * @return The number of messages scheduled to be written</em>
<a name="183" href="#183">183</a> <em class="jxr_javadoccomment">     */</em>
<a name="184" href="#184">184</a>     <strong class="jxr_keyword">int</strong> getScheduledWriteMessages();
<a name="185" href="#185">185</a> 
<a name="186" href="#186">186</a>     <em class="jxr_javadoccomment">/**</em>
<a name="187" href="#187">187</a> <em class="jxr_javadoccomment">     * Returns the IoServiceStatistics object for this service.</em>
<a name="188" href="#188">188</a> <em class="jxr_javadoccomment">     * </em>
<a name="189" href="#189">189</a> <em class="jxr_javadoccomment">     * @return The statistics object for this service.</em>
<a name="190" href="#190">190</a> <em class="jxr_javadoccomment">     */</em>
<a name="191" href="#191">191</a>     <a href="../../../../../org/apache/mina/core/service/IoServiceStatistics.html">IoServiceStatistics</a> getStatistics();
<a name="192" href="#192">192</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

