<!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>ProtocolSession xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/mina/protocol/ProtocolSession.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: ProtocolSession.java 210062 2005-07-11 03:52:38Z 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/protocol/package-summary.html">org.apache.mina.protocol</a>;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong>import</strong> org.apache.mina.common.Session;
<a name="22" href="#22">22</a>  
<a name="23" href="#23">23</a>  <em>/**<em>*</em></em>
<a name="24" href="#24">24</a>  <em> * A {@link Session} which represents high-level protocol connection between two</em>
<a name="25" href="#25">25</a>  <em> * endpoints regardless of underlying transport types.</em>
<a name="26" href="#26">26</a>  <em> * </em>
<a name="27" href="#27">27</a>  <em> * @author Trustin Lee (trustin@apache.org)</em>
<a name="28" href="#28">28</a>  <em> * @version $Rev: 210062 $, $Date: 2005-07-11 12:52:38 +0900 $</em>
<a name="29" href="#29">29</a>  <em> * </em>
<a name="30" href="#30">30</a>  <em> * @see Session</em>
<a name="31" href="#31">31</a>  <em> */</em>
<a name="32" href="#32">32</a>  <strong>public</strong> <strong>interface</strong> <a href="../../../../org/apache/mina/protocol/ProtocolSession.html">ProtocolSession</a> <strong>extends</strong> <a href="../../../../org/apache/mina/common/Session.html">Session</a>
<a name="33" href="#33">33</a>  {
<a name="34" href="#34">34</a>      <em>/**<em>*</em></em>
<a name="35" href="#35">35</a>  <em>     * Returns the {@link ProtocolHandler} which handles this session.</em>
<a name="36" href="#36">36</a>  <em>     */</em>
<a name="37" href="#37">37</a>      <a href="../../../../org/apache/mina/protocol/ProtocolHandler.html">ProtocolHandler</a> getHandler();
<a name="38" href="#38">38</a>  
<a name="39" href="#39">39</a>      <em>/**<em>*</em></em>
<a name="40" href="#40">40</a>  <em>     * Returns the filter chain that only affects this session.</em>
<a name="41" href="#41">41</a>  <em>     */</em>
<a name="42" href="#42">42</a>      <a href="../../../../org/apache/mina/protocol/ProtocolFilterChain.html">ProtocolFilterChain</a> getFilterChain();
<a name="43" href="#43">43</a>  
<a name="44" href="#44">44</a>  
<a name="45" href="#45">45</a>      <em>/**<em>*</em></em>
<a name="46" href="#46">46</a>  <em>     * Returns the {@link ProtocolEncoder} for this session.</em>
<a name="47" href="#47">47</a>  <em>     */</em>
<a name="48" href="#48">48</a>      <a href="../../../../org/apache/mina/protocol/ProtocolEncoder.html">ProtocolEncoder</a> getEncoder();
<a name="49" href="#49">49</a>  
<a name="50" href="#50">50</a>      <em>/**<em>*</em></em>
<a name="51" href="#51">51</a>  <em>     * Returns the {@link ProtocolDecoder} for this session.</em>
<a name="52" href="#52">52</a>  <em>     */</em>
<a name="53" href="#53">53</a>      <a href="../../../../org/apache/mina/protocol/ProtocolDecoder.html">ProtocolDecoder</a> getDecoder();
<a name="54" href="#54">54</a>  
<a name="55" href="#55">55</a>      <em>/**<em>*</em></em>
<a name="56" href="#56">56</a>  <em>     * Writes the specified &lt;code>message&lt;/code> to remote peer.  This operation</em>
<a name="57" href="#57">57</a>  <em>     * is asynchronous; {@link ProtocolHandler#messageSent(ProtocolSession, Object)}</em>
<a name="58" href="#58">58</a>  <em>     * will be invoked when the message is actually sent to remote peer.</em>
<a name="59" href="#59">59</a>  <em>     */</em>
<a name="60" href="#60">60</a>      <strong>void</strong> write( Object message );
<a name="61" href="#61">61</a>  }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

