<!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=ISO-8859-1" /><title>SocketSessionImpl xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../../../apidocs/org/apache/mina/transport/socket/nio/support/SocketSessionImpl.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="comment">/*</em>
<a name="2" href="#2">2</a>   <em class="comment"> *   @(#) $Id: SocketSessionImpl.java 355016 2005-12-08 07:00:30Z trustin $</em>
<a name="3" href="#3">3</a>   <em class="comment"> *</em>
<a name="4" href="#4">4</a>   <em class="comment"> *   Copyright 2004 The Apache Software Foundation</em>
<a name="5" href="#5">5</a>   <em class="comment"> *</em>
<a name="6" href="#6">6</a>   <em class="comment"> *   Licensed under the Apache License, Version 2.0 (the "License");</em>
<a name="7" href="#7">7</a>   <em class="comment"> *   you may not use this file except in compliance with the License.</em>
<a name="8" href="#8">8</a>   <em class="comment"> *   You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="comment"> *</em>
<a name="10" href="#10">10</a>  <em class="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="comment"> *</em>
<a name="12" href="#12">12</a>  <em class="comment"> *   Unless required by applicable law or agreed to in writing, software</em>
<a name="13" href="#13">13</a>  <em class="comment"> *   distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="14" href="#14">14</a>  <em class="comment"> *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="15" href="#15">15</a>  <em class="comment"> *   See the License for the specific language governing permissions and</em>
<a name="16" href="#16">16</a>  <em class="comment"> *   limitations under the License.</em>
<a name="17" href="#17">17</a>  <em class="comment"> *</em>
<a name="18" href="#18">18</a>  <em class="comment"> */</em>
<a name="19" href="#19">19</a>  <strong>package</strong> <a href="../../../../../../../org/apache/mina/transport/socket/nio/support/package-summary.html">org.apache.mina.transport.socket.nio.support</a>;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong>import</strong> java.net.SocketAddress;
<a name="22" href="#22">22</a>  <strong>import</strong> java.net.SocketException;
<a name="23" href="#23">23</a>  <strong>import</strong> java.nio.channels.SelectionKey;
<a name="24" href="#24">24</a>  <strong>import</strong> java.nio.channels.SocketChannel;
<a name="25" href="#25">25</a>  
<a name="26" href="#26">26</a>  <strong>import</strong> org.apache.mina.common.CloseFuture;
<a name="27" href="#27">27</a>  <strong>import</strong> org.apache.mina.common.IoFilterChain;
<a name="28" href="#28">28</a>  <strong>import</strong> org.apache.mina.common.IoHandler;
<a name="29" href="#29">29</a>  <strong>import</strong> org.apache.mina.common.IoSession;
<a name="30" href="#30">30</a>  <strong>import</strong> org.apache.mina.common.IoSessionManager;
<a name="31" href="#31">31</a>  <strong>import</strong> org.apache.mina.common.TransportType;
<a name="32" href="#32">32</a>  <strong>import</strong> org.apache.mina.common.IoFilter.WriteRequest;
<a name="33" href="#33">33</a>  <strong>import</strong> org.apache.mina.common.support.BaseIoSession;
<a name="34" href="#34">34</a>  <strong>import</strong> org.apache.mina.transport.socket.nio.SocketSession;
<a name="35" href="#35">35</a>  <strong>import</strong> org.apache.mina.util.Queue;
<a name="36" href="#36">36</a>  
<a name="37" href="#37">37</a>  <em>/**<em>*</em></em>
<a name="38" href="#38">38</a>  <em> * An {@link IoSession} for socket transport (TCP/IP).</em>
<a name="39" href="#39">39</a>  <em> * </em>
<a name="40" href="#40">40</a>  <em> * @author The Apache Directory Project (dev@directory.apache.org)</em>
<a name="41" href="#41">41</a>  <em> * @version $Rev: 355016 $, $Date: 2005-12-08 16:00:30 +0900 (Thu, 08 Dec 2005) $</em>
<a name="42" href="#42">42</a>  <em> */</em>
<a name="43" href="#43">43</a>  <strong>class</strong> <a href="../../../../../../../org/apache/mina/transport/socket/nio/support/SocketSessionImpl.html">SocketSessionImpl</a> <strong>extends</strong> <a href="../../../../../../../org/apache/mina/common/support/BaseIoSession.html">BaseIoSession</a> implements <a href="../../../../../../../org/apache/mina/transport/socket/nio/SocketSession.html">SocketSession</a>
<a name="44" href="#44">44</a>  {
<a name="45" href="#45">45</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> DEFAULT_READ_BUFFER_SIZE = 1024;
<a name="46" href="#46">46</a>  
<a name="47" href="#47">47</a>      <strong>private</strong> <strong>final</strong> <a href="../../../../../../../org/apache/mina/common/IoSessionManager.html">IoSessionManager</a> manager;
<a name="48" href="#48">48</a>      <strong>private</strong> <strong>final</strong> <a href="../../../../../../../org/apache/mina/transport/socket/nio/support/SocketIoProcessor.html">SocketIoProcessor</a> ioProcessor;
<a name="49" href="#49">49</a>      <strong>private</strong> <strong>final</strong> <a href="../../../../../../../org/apache/mina/transport/socket/nio/support/SocketFilterChain.html">SocketFilterChain</a> filterChain;
<a name="50" href="#50">50</a>      <strong>private</strong> <strong>final</strong> SocketChannel ch;
<a name="51" href="#51">51</a>      <strong>private</strong> <strong>final</strong> <a href="../../../../../../../org/apache/mina/util/Queue.html">Queue</a> writeRequestQueue;
<a name="52" href="#52">52</a>      <strong>private</strong> <strong>final</strong> <a href="../../../../../../../org/apache/mina/common/IoHandler.html">IoHandler</a> handler;
<a name="53" href="#53">53</a>      <strong>private</strong> <strong>final</strong> SocketAddress remoteAddress;
<a name="54" href="#54">54</a>      <strong>private</strong> <strong>final</strong> SocketAddress localAddress;
<a name="55" href="#55">55</a>      <strong>private</strong> SelectionKey key;
<a name="56" href="#56">56</a>      <strong>private</strong> <strong>int</strong> readBufferSize = DEFAULT_READ_BUFFER_SIZE;
<a name="57" href="#57">57</a>  
<a name="58" href="#58">58</a>      <em>/**<em>*</em></em>
<a name="59" href="#59">59</a>  <em>     * Creates a new instance.</em>
<a name="60" href="#60">60</a>  <em>     */</em>
<a name="61" href="#61">61</a>      <strong>public</strong> <a href="../../../../../../../org/apache/mina/transport/socket/nio/support/SocketSessionImpl.html">SocketSessionImpl</a>(
<a name="62" href="#62">62</a>              <a href="../../../../../../../org/apache/mina/common/IoSessionManager.html">IoSessionManager</a> manager,
<a name="63" href="#63">63</a>              SocketChannel ch, <a href="../../../../../../../org/apache/mina/common/IoHandler.html">IoHandler</a> defaultHandler )
<a name="64" href="#64">64</a>      {
<a name="65" href="#65">65</a>          <strong>this</strong>.manager = manager;
<a name="66" href="#66">66</a>          <strong>this</strong>.ioProcessor = SocketIoProcessor.getInstance();
<a name="67" href="#67">67</a>          <strong>this</strong>.filterChain = <strong>new</strong> <a href="../../../../../../../org/apache/mina/transport/socket/nio/support/SocketFilterChain.html">SocketFilterChain</a>( <strong>this</strong> );
<a name="68" href="#68">68</a>          <strong>this</strong>.ch = ch;
<a name="69" href="#69">69</a>          <strong>this</strong>.writeRequestQueue = <strong>new</strong> <a href="../../../../../../../org/apache/mina/util/Queue.html">Queue</a>();
<a name="70" href="#70">70</a>          <strong>this</strong>.handler = defaultHandler;
<a name="71" href="#71">71</a>          <strong>this</strong>.remoteAddress = ch.socket().getRemoteSocketAddress();
<a name="72" href="#72">72</a>          <strong>this</strong>.localAddress = ch.socket().getLocalSocketAddress();
<a name="73" href="#73">73</a>      }
<a name="74" href="#74">74</a>      
<a name="75" href="#75">75</a>      <strong>public</strong> <a href="../../../../../../../org/apache/mina/common/IoSessionManager.html">IoSessionManager</a> getManager()
<a name="76" href="#76">76</a>      {
<a name="77" href="#77">77</a>          <strong>return</strong> manager;
<a name="78" href="#78">78</a>      }
<a name="79" href="#79">79</a>      
<a name="80" href="#80">80</a>      <a href="../../../../../../../org/apache/mina/transport/socket/nio/support/SocketIoProcessor.html">SocketIoProcessor</a> getIoProcessor()
<a name="81" href="#81">81</a>      {
<a name="82" href="#82">82</a>          <strong>return</strong> ioProcessor;
<a name="83" href="#83">83</a>      }
<a name="84" href="#84">84</a>      
<a name="85" href="#85">85</a>      <strong>public</strong> <a href="../../../../../../../org/apache/mina/common/IoFilterChain.html">IoFilterChain</a> getFilterChain()
<a name="86" href="#86">86</a>      {
<a name="87" href="#87">87</a>          <strong>return</strong> filterChain;
<a name="88" href="#88">88</a>      }
<a name="89" href="#89">89</a>  
<a name="90" href="#90">90</a>      SocketChannel getChannel()
<a name="91" href="#91">91</a>      {
<a name="92" href="#92">92</a>          <strong>return</strong> ch;
<a name="93" href="#93">93</a>      }
<a name="94" href="#94">94</a>  
<a name="95" href="#95">95</a>      SelectionKey getSelectionKey()
<a name="96" href="#96">96</a>      {
<a name="97" href="#97">97</a>          <strong>return</strong> key;
<a name="98" href="#98">98</a>      }
<a name="99" href="#99">99</a>  
<a name="100" href="#100">100</a>     <strong>void</strong> setSelectionKey( SelectionKey key )
<a name="101" href="#101">101</a>     {
<a name="102" href="#102">102</a>         <strong>this</strong>.key = key;
<a name="103" href="#103">103</a>     }
<a name="104" href="#104">104</a> 
<a name="105" href="#105">105</a>     <strong>public</strong> <a href="../../../../../../../org/apache/mina/common/IoHandler.html">IoHandler</a> getHandler()
<a name="106" href="#106">106</a>     {
<a name="107" href="#107">107</a>         <strong>return</strong> handler;
<a name="108" href="#108">108</a>     }
<a name="109" href="#109">109</a>     
<a name="110" href="#110">110</a>     <strong>protected</strong> <strong>void</strong> close0( CloseFuture closeFuture )
<a name="111" href="#111">111</a>     {
<a name="112" href="#112">112</a>         filterChain.filterClose( <strong>this</strong>, closeFuture );
<a name="113" href="#113">113</a>     }
<a name="114" href="#114">114</a>     
<a name="115" href="#115">115</a>     <a href="../../../../../../../org/apache/mina/util/Queue.html">Queue</a> getWriteRequestQueue()
<a name="116" href="#116">116</a>     {
<a name="117" href="#117">117</a>         <strong>return</strong> writeRequestQueue;
<a name="118" href="#118">118</a>     }
<a name="119" href="#119">119</a> 
<a name="120" href="#120">120</a>     <strong>public</strong> <strong>int</strong> getScheduledWriteRequests()
<a name="121" href="#121">121</a>     {
<a name="122" href="#122">122</a>         <strong>synchronized</strong>( writeRequestQueue )
<a name="123" href="#123">123</a>         {
<a name="124" href="#124">124</a>             <strong>return</strong> writeRequestQueue.size();
<a name="125" href="#125">125</a>         }
<a name="126" href="#126">126</a>     }
<a name="127" href="#127">127</a> 
<a name="128" href="#128">128</a>     <strong>protected</strong> <strong>void</strong> write0( WriteRequest writeRequest )
<a name="129" href="#129">129</a>     {
<a name="130" href="#130">130</a>         filterChain.filterWrite( <strong>this</strong>, writeRequest );
<a name="131" href="#131">131</a>     }
<a name="132" href="#132">132</a> 
<a name="133" href="#133">133</a>     <strong>public</strong> <a href="../../../../../../../org/apache/mina/common/TransportType.html">TransportType</a> getTransportType()
<a name="134" href="#134">134</a>     {
<a name="135" href="#135">135</a>         <strong>return</strong> TransportType.SOCKET;
<a name="136" href="#136">136</a>     }
<a name="137" href="#137">137</a> 
<a name="138" href="#138">138</a>     <strong>public</strong> SocketAddress getRemoteAddress()
<a name="139" href="#139">139</a>     {
<a name="140" href="#140">140</a>         <strong>return</strong> remoteAddress;
<a name="141" href="#141">141</a>     }
<a name="142" href="#142">142</a> 
<a name="143" href="#143">143</a>     <strong>public</strong> SocketAddress getLocalAddress()
<a name="144" href="#144">144</a>     {
<a name="145" href="#145">145</a>         <strong>return</strong> localAddress;
<a name="146" href="#146">146</a>     }
<a name="147" href="#147">147</a> 
<a name="148" href="#148">148</a>     <strong>public</strong> <strong>boolean</strong> getKeepAlive() throws SocketException
<a name="149" href="#149">149</a>     {
<a name="150" href="#150">150</a>         <strong>return</strong> ch.socket().getKeepAlive();
<a name="151" href="#151">151</a>     }
<a name="152" href="#152">152</a> 
<a name="153" href="#153">153</a>     <strong>public</strong> <strong>void</strong> setKeepAlive( <strong>boolean</strong> on ) throws SocketException
<a name="154" href="#154">154</a>     {
<a name="155" href="#155">155</a>         ch.socket().setKeepAlive( on );
<a name="156" href="#156">156</a>     }
<a name="157" href="#157">157</a> 
<a name="158" href="#158">158</a>     <strong>public</strong> <strong>boolean</strong> getOOBInline() throws SocketException
<a name="159" href="#159">159</a>     {
<a name="160" href="#160">160</a>         <strong>return</strong> ch.socket().getOOBInline();
<a name="161" href="#161">161</a>     }
<a name="162" href="#162">162</a> 
<a name="163" href="#163">163</a>     <strong>public</strong> <strong>void</strong> setOOBInline( <strong>boolean</strong> on ) throws SocketException
<a name="164" href="#164">164</a>     {
<a name="165" href="#165">165</a>         ch.socket().setOOBInline( on );
<a name="166" href="#166">166</a>     }
<a name="167" href="#167">167</a> 
<a name="168" href="#168">168</a>     <strong>public</strong> <strong>boolean</strong> getReuseAddress() throws SocketException
<a name="169" href="#169">169</a>     {
<a name="170" href="#170">170</a>         <strong>return</strong> ch.socket().getReuseAddress();
<a name="171" href="#171">171</a>     }
<a name="172" href="#172">172</a> 
<a name="173" href="#173">173</a>     <strong>public</strong> <strong>void</strong> setReuseAddress( <strong>boolean</strong> on ) throws SocketException
<a name="174" href="#174">174</a>     {
<a name="175" href="#175">175</a>         ch.socket().setReuseAddress( on );
<a name="176" href="#176">176</a>     }
<a name="177" href="#177">177</a> 
<a name="178" href="#178">178</a>     <strong>public</strong> <strong>int</strong> getSoLinger() throws SocketException
<a name="179" href="#179">179</a>     {
<a name="180" href="#180">180</a>         <strong>return</strong> ch.socket().getSoLinger();
<a name="181" href="#181">181</a>     }
<a name="182" href="#182">182</a> 
<a name="183" href="#183">183</a>     <strong>public</strong> <strong>void</strong> setSoLinger( <strong>boolean</strong> on, <strong>int</strong> linger ) throws SocketException
<a name="184" href="#184">184</a>     {
<a name="185" href="#185">185</a>         ch.socket().setSoLinger( on, linger );
<a name="186" href="#186">186</a>     }
<a name="187" href="#187">187</a> 
<a name="188" href="#188">188</a>     <strong>public</strong> <strong>boolean</strong> getTcpNoDelay() throws SocketException
<a name="189" href="#189">189</a>     {
<a name="190" href="#190">190</a>         <strong>return</strong> ch.socket().getTcpNoDelay();
<a name="191" href="#191">191</a>     }
<a name="192" href="#192">192</a> 
<a name="193" href="#193">193</a>     <strong>public</strong> <strong>void</strong> setTcpNoDelay( <strong>boolean</strong> on ) throws SocketException
<a name="194" href="#194">194</a>     {
<a name="195" href="#195">195</a>         ch.socket().setTcpNoDelay( on );
<a name="196" href="#196">196</a>     }
<a name="197" href="#197">197</a> 
<a name="198" href="#198">198</a>     <strong>public</strong> <strong>int</strong> getTrafficClass() throws SocketException
<a name="199" href="#199">199</a>     {
<a name="200" href="#200">200</a>         <strong>return</strong> ch.socket().getTrafficClass();
<a name="201" href="#201">201</a>     }
<a name="202" href="#202">202</a> 
<a name="203" href="#203">203</a>     <strong>public</strong> <strong>void</strong> setTrafficClass( <strong>int</strong> tc ) throws SocketException
<a name="204" href="#204">204</a>     {
<a name="205" href="#205">205</a>         ch.socket().setTrafficClass( tc );
<a name="206" href="#206">206</a>     }
<a name="207" href="#207">207</a> 
<a name="208" href="#208">208</a>     <strong>public</strong> <strong>int</strong> getSendBufferSize() throws SocketException
<a name="209" href="#209">209</a>     {
<a name="210" href="#210">210</a>         <strong>return</strong> ch.socket().getSendBufferSize();
<a name="211" href="#211">211</a>     }
<a name="212" href="#212">212</a> 
<a name="213" href="#213">213</a>     <strong>public</strong> <strong>void</strong> setSendBufferSize( <strong>int</strong> size ) throws SocketException
<a name="214" href="#214">214</a>     {
<a name="215" href="#215">215</a>         ch.socket().setSendBufferSize( size );
<a name="216" href="#216">216</a>     }
<a name="217" href="#217">217</a> 
<a name="218" href="#218">218</a>     <strong>public</strong> <strong>int</strong> getReceiveBufferSize() throws SocketException
<a name="219" href="#219">219</a>     {
<a name="220" href="#220">220</a>         <strong>return</strong> ch.socket().getReceiveBufferSize();
<a name="221" href="#221">221</a>     }
<a name="222" href="#222">222</a> 
<a name="223" href="#223">223</a>     <strong>public</strong> <strong>void</strong> setReceiveBufferSize( <strong>int</strong> size ) throws SocketException
<a name="224" href="#224">224</a>     {
<a name="225" href="#225">225</a>         ch.socket().setReceiveBufferSize( size );
<a name="226" href="#226">226</a>     }
<a name="227" href="#227">227</a>     
<a name="228" href="#228">228</a>     <strong>public</strong> <strong>int</strong> getSessionReceiveBufferSize()
<a name="229" href="#229">229</a>     {
<a name="230" href="#230">230</a>         <strong>return</strong> readBufferSize;
<a name="231" href="#231">231</a>     }
<a name="232" href="#232">232</a>     
<a name="233" href="#233">233</a>     <strong>public</strong> <strong>void</strong> setSessionReceiveBufferSize( <strong>int</strong> size )
<a name="234" href="#234">234</a>     {
<a name="235" href="#235">235</a>         <strong>if</strong>( size &lt;= 0 )
<a name="236" href="#236">236</a>         {
<a name="237" href="#237">237</a>             <strong>throw</strong> <strong>new</strong> IllegalArgumentException( <span class="string">"Invalid session receive buffer size: "</span> + size );
<a name="238" href="#238">238</a>         }
<a name="239" href="#239">239</a>         
<a name="240" href="#240">240</a>         <strong>this</strong>.readBufferSize = size;
<a name="241" href="#241">241</a>     }
<a name="242" href="#242">242</a> 
<a name="243" href="#243">243</a>     <strong>protected</strong> <strong>void</strong> updateTrafficMask()
<a name="244" href="#244">244</a>     {
<a name="245" href="#245">245</a>         <strong>this</strong>.ioProcessor.updateTrafficMask( <strong>this</strong> );
<a name="246" href="#246">246</a>     }
<a name="247" href="#247">247</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

