<!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>DatagramFilterChain 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/DatagramFilterChain.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</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="2" href="#2">2</a>   
<a name="3" href="#3">3</a>   <strong>import</strong> org.apache.mina.common.CloseFuture;
<a name="4" href="#4">4</a>   <strong>import</strong> org.apache.mina.common.IoFilterChain;
<a name="5" href="#5">5</a>   <strong>import</strong> org.apache.mina.common.IoSession;
<a name="6" href="#6">6</a>   <strong>import</strong> org.apache.mina.common.IoFilter.WriteRequest;
<a name="7" href="#7">7</a>   <strong>import</strong> org.apache.mina.common.support.AbstractIoFilterChain;
<a name="8" href="#8">8</a>   <strong>import</strong> org.apache.mina.util.Queue;
<a name="9" href="#9">9</a>   
<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
<a name="11" href="#11">11</a>  <em> * An {@link IoFilterChain} for datagram transport (UDP/IP).</em>
<a name="12" href="#12">12</a>  <em> * </em>
<a name="13" href="#13">13</a>  <em> * @author The Apache Directory Project</em>
<a name="14" href="#14">14</a>  <em> */</em>
<a name="15" href="#15">15</a>  <strong>class</strong> <a href="../../../../../../../org/apache/mina/transport/socket/nio/support/DatagramFilterChain.html">DatagramFilterChain</a> <strong>extends</strong> <a href="../../../../../../../org/apache/mina/common/support/AbstractIoFilterChain.html">AbstractIoFilterChain</a> {
<a name="16" href="#16">16</a>  
<a name="17" href="#17">17</a>      <a href="../../../../../../../org/apache/mina/transport/socket/nio/support/DatagramFilterChain.html">DatagramFilterChain</a>( IoSession parent )
<a name="18" href="#18">18</a>      {
<a name="19" href="#19">19</a>          <strong>super</strong>( parent );
<a name="20" href="#20">20</a>      }
<a name="21" href="#21">21</a>      
<a name="22" href="#22">22</a>      <strong>protected</strong> <strong>void</strong> doWrite( IoSession session, WriteRequest writeRequest )
<a name="23" href="#23">23</a>      {
<a name="24" href="#24">24</a>          <a href="../../../../../../../org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.html">DatagramSessionImpl</a> s = ( DatagramSessionImpl ) session;
<a name="25" href="#25">25</a>          <a href="../../../../../../../org/apache/mina/util/Queue.html">Queue</a> writeRequestQueue = s.getWriteRequestQueue();
<a name="26" href="#26">26</a>          
<a name="27" href="#27">27</a>          <strong>synchronized</strong>( writeRequestQueue )
<a name="28" href="#28">28</a>          {
<a name="29" href="#29">29</a>              writeRequestQueue.push( writeRequest );
<a name="30" href="#30">30</a>              <strong>if</strong>( writeRequestQueue.size() == 1 &amp;&amp; session.getTrafficMask().isWritable() )
<a name="31" href="#31">31</a>              {
<a name="32" href="#32">32</a>                  <em class="comment">// Notify DatagramSessionManager only when writeRequestQueue was empty.</em>
<a name="33" href="#33">33</a>                  s.getManagerDelegate().flushSession( s );
<a name="34" href="#34">34</a>              }
<a name="35" href="#35">35</a>          }
<a name="36" href="#36">36</a>      }
<a name="37" href="#37">37</a>  
<a name="38" href="#38">38</a>      <strong>protected</strong> <strong>void</strong> doClose( IoSession session, CloseFuture closeFuture )
<a name="39" href="#39">39</a>      {
<a name="40" href="#40">40</a>          <a href="../../../../../../../org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.html">DatagramSessionImpl</a> s = ( DatagramSessionImpl ) session;
<a name="41" href="#41">41</a>          <a href="../../../../../../../org/apache/mina/transport/socket/nio/support/DatagramSessionManager.html">DatagramSessionManager</a> manager = s.getManagerDelegate();
<a name="42" href="#42">42</a>          <strong>if</strong>( manager instanceof DatagramConnectorDelegate )
<a name="43" href="#43">43</a>          {
<a name="44" href="#44">44</a>              ( ( <a href="../../../../../../../org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.html">DatagramConnectorDelegate</a> ) manager ).closeSession( s );
<a name="45" href="#45">45</a>          }
<a name="46" href="#46">46</a>          <strong>else</strong>
<a name="47" href="#47">47</a>          {
<a name="48" href="#48">48</a>              closeFuture.setClosed();
<a name="49" href="#49">49</a>          }
<a name="50" href="#50">50</a>      }
<a name="51" href="#51">51</a>  }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

