<!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>IoServiceStatistics xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/core/service/IoServiceStatistics.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.concurrent.atomic.AtomicInteger;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.atomic.AtomicLong;
<a name="24" href="#24">24</a>  
<a name="25" href="#25">25</a>  
<a name="26" href="#26">26</a>  <em class="jxr_javadoccomment">/**</em>
<a name="27" href="#27">27</a>  <em class="jxr_javadoccomment"> * Provides usage statistics for an {@link AbstractIoService} instance.</em>
<a name="28" href="#28">28</a>  <em class="jxr_javadoccomment"> * </em>
<a name="29" href="#29">29</a>  <em class="jxr_javadoccomment"> * @author The Apache MINA Project (dev@mina.apache.org)</em>
<a name="30" href="#30">30</a>  <em class="jxr_javadoccomment"> * @version $Rev$, $Date$</em>
<a name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> * @since 2.0.0-M3</em>
<a name="32" href="#32">32</a>  <em class="jxr_javadoccomment"> */</em>
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/core/service/IoServiceStatistics.html">IoServiceStatistics</a> {
<a name="34" href="#34">34</a>      
<a name="35" href="#35">35</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/service/AbstractIoService.html">AbstractIoService</a> service;
<a name="36" href="#36">36</a>      
<a name="37" href="#37">37</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">double</strong> readBytesThroughput;
<a name="38" href="#38">38</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">double</strong> writtenBytesThroughput;
<a name="39" href="#39">39</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">double</strong> readMessagesThroughput;
<a name="40" href="#40">40</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">double</strong> writtenMessagesThroughput;
<a name="41" href="#41">41</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">double</strong> largestReadBytesThroughput;
<a name="42" href="#42">42</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">double</strong> largestWrittenBytesThroughput;
<a name="43" href="#43">43</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">double</strong> largestReadMessagesThroughput;
<a name="44" href="#44">44</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">double</strong> largestWrittenMessagesThroughput;    
<a name="45" href="#45">45</a>      
<a name="46" href="#46">46</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> AtomicLong readBytes = <strong class="jxr_keyword">new</strong> AtomicLong();
<a name="47" href="#47">47</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> AtomicLong writtenBytes = <strong class="jxr_keyword">new</strong> AtomicLong();
<a name="48" href="#48">48</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> AtomicLong readMessages = <strong class="jxr_keyword">new</strong> AtomicLong();
<a name="49" href="#49">49</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> AtomicLong writtenMessages = <strong class="jxr_keyword">new</strong> AtomicLong();    
<a name="50" href="#50">50</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> lastReadTime;
<a name="51" href="#51">51</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> lastWriteTime;
<a name="52" href="#52">52</a>      
<a name="53" href="#53">53</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> lastReadBytes;
<a name="54" href="#54">54</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> lastWrittenBytes;
<a name="55" href="#55">55</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> lastReadMessages;
<a name="56" href="#56">56</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> lastWrittenMessages;
<a name="57" href="#57">57</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> lastThroughputCalculationTime;
<a name="58" href="#58">58</a>  
<a name="59" href="#59">59</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> AtomicInteger scheduledWriteBytes = <strong class="jxr_keyword">new</strong> AtomicInteger();
<a name="60" href="#60">60</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> AtomicInteger scheduledWriteMessages = <strong class="jxr_keyword">new</strong> AtomicInteger();
<a name="61" href="#61">61</a>      
<a name="62" href="#62">62</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> throughputCalculationInterval = 3;
<a name="63" href="#63">63</a>      
<a name="64" href="#64">64</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Object throughputCalculationLock = <strong class="jxr_keyword">new</strong> Object();
<a name="65" href="#65">65</a>      
<a name="66" href="#66">66</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/service/IoServiceStatistics.html">IoServiceStatistics</a>(<a href="../../../../../org/apache/mina/core/service/AbstractIoService.html">AbstractIoService</a> service) {
<a name="67" href="#67">67</a>          <strong class="jxr_keyword">this</strong>.service = service;
<a name="68" href="#68">68</a>      }
<a name="69" href="#69">69</a>      
<a name="70" href="#70">70</a>      <em class="jxr_javadoccomment">/**</em>
<a name="71" href="#71">71</a>  <em class="jxr_javadoccomment">     * Returns the maximum number of sessions which were being managed at the</em>
<a name="72" href="#72">72</a>  <em class="jxr_javadoccomment">     * same time.</em>
<a name="73" href="#73">73</a>  <em class="jxr_javadoccomment">     */</em>
<a name="74" href="#74">74</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> getLargestManagedSessionCount() {
<a name="75" href="#75">75</a>          <strong class="jxr_keyword">return</strong> service.getListeners().getLargestManagedSessionCount();
<a name="76" href="#76">76</a>      }
<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 cumulative number of sessions which were managed (or are</em>
<a name="80" href="#80">80</a>  <em class="jxr_javadoccomment">     * being managed) by this service, which means 'currently managed session</em>
<a name="81" href="#81">81</a>  <em class="jxr_javadoccomment">     * count + closed session count'.</em>
<a name="82" href="#82">82</a>  <em class="jxr_javadoccomment">     */</em>
<a name="83" href="#83">83</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getCumulativeManagedSessionCount() {
<a name="84" href="#84">84</a>          <strong class="jxr_keyword">return</strong> service.getListeners().getCumulativeManagedSessionCount();
<a name="85" href="#85">85</a>      }
<a name="86" href="#86">86</a>      
<a name="87" href="#87">87</a>      <em class="jxr_javadoccomment">/**</em>
<a name="88" href="#88">88</a>  <em class="jxr_javadoccomment">     * Returns the time in millis when I/O occurred lastly.</em>
<a name="89" href="#89">89</a>  <em class="jxr_javadoccomment">     */</em>
<a name="90" href="#90">90</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getLastIoTime() {
<a name="91" href="#91">91</a>          <strong class="jxr_keyword">return</strong> Math.max(lastReadTime, lastWriteTime);
<a name="92" href="#92">92</a>      }
<a name="93" href="#93">93</a>  
<a name="94" href="#94">94</a>      <em class="jxr_javadoccomment">/**</em>
<a name="95" href="#95">95</a>  <em class="jxr_javadoccomment">     * Returns the time in millis when read operation occurred lastly.</em>
<a name="96" href="#96">96</a>  <em class="jxr_javadoccomment">     */</em>
<a name="97" href="#97">97</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getLastReadTime() {
<a name="98" href="#98">98</a>          <strong class="jxr_keyword">return</strong> lastReadTime;
<a name="99" href="#99">99</a>      }
<a name="100" href="#100">100</a> 
<a name="101" href="#101">101</a>     <em class="jxr_javadoccomment">/**</em>
<a name="102" href="#102">102</a> <em class="jxr_javadoccomment">     * Returns the time in millis when write operation occurred lastly.</em>
<a name="103" href="#103">103</a> <em class="jxr_javadoccomment">     */</em>
<a name="104" href="#104">104</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getLastWriteTime() {
<a name="105" href="#105">105</a>         <strong class="jxr_keyword">return</strong> lastWriteTime;
<a name="106" href="#106">106</a>     }
<a name="107" href="#107">107</a>     
<a name="108" href="#108">108</a>     <em class="jxr_javadoccomment">/**</em>
<a name="109" href="#109">109</a> <em class="jxr_javadoccomment">     * Returns the number of bytes read by this service</em>
<a name="110" href="#110">110</a> <em class="jxr_javadoccomment">     *</em>
<a name="111" href="#111">111</a> <em class="jxr_javadoccomment">     * @return</em>
<a name="112" href="#112">112</a> <em class="jxr_javadoccomment">     *     The number of bytes this service has read</em>
<a name="113" href="#113">113</a> <em class="jxr_javadoccomment">     */</em>
<a name="114" href="#114">114</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getReadBytes() {
<a name="115" href="#115">115</a>         <strong class="jxr_keyword">return</strong> readBytes.get();
<a name="116" href="#116">116</a>     }
<a name="117" href="#117">117</a> 
<a name="118" href="#118">118</a>     <em class="jxr_javadoccomment">/**</em>
<a name="119" href="#119">119</a> <em class="jxr_javadoccomment">     * Returns the number of bytes written out by this service</em>
<a name="120" href="#120">120</a> <em class="jxr_javadoccomment">     *</em>
<a name="121" href="#121">121</a> <em class="jxr_javadoccomment">     * @return</em>
<a name="122" href="#122">122</a> <em class="jxr_javadoccomment">     *     The number of bytes this service has written</em>
<a name="123" href="#123">123</a> <em class="jxr_javadoccomment">     */</em>
<a name="124" href="#124">124</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getWrittenBytes() {
<a name="125" href="#125">125</a>         <strong class="jxr_keyword">return</strong> writtenBytes.get();
<a name="126" href="#126">126</a>     }
<a name="127" href="#127">127</a> 
<a name="128" href="#128">128</a>     <em class="jxr_javadoccomment">/**</em>
<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">     * Returns the number of messages this services has read</em>
<a name="130" href="#130">130</a> <em class="jxr_javadoccomment">     *</em>
<a name="131" href="#131">131</a> <em class="jxr_javadoccomment">     * @return</em>
<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">     *     The number of messages this services has read</em>
<a name="133" href="#133">133</a> <em class="jxr_javadoccomment">     */</em>
<a name="134" href="#134">134</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getReadMessages() {
<a name="135" href="#135">135</a>         <strong class="jxr_keyword">return</strong> readMessages.get();
<a name="136" href="#136">136</a>     }
<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 the number of messages this service has written</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</em>
<a name="142" href="#142">142</a> <em class="jxr_javadoccomment">     *     The number of messages this service has written</em>
<a name="143" href="#143">143</a> <em class="jxr_javadoccomment">     */</em>
<a name="144" href="#144">144</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getWrittenMessages() {
<a name="145" href="#145">145</a>         <strong class="jxr_keyword">return</strong> writtenMessages.get();
<a name="146" href="#146">146</a>     }
<a name="147" href="#147">147</a> 
<a name="148" href="#148">148</a>     <em class="jxr_javadoccomment">/**</em>
<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">     * Returns the number of read bytes per second.</em>
<a name="150" href="#150">150</a> <em class="jxr_javadoccomment">     */</em>
<a name="151" href="#151">151</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> getReadBytesThroughput() {
<a name="152" href="#152">152</a>         resetThroughput();
<a name="153" href="#153">153</a>         <strong class="jxr_keyword">return</strong> readBytesThroughput;
<a name="154" href="#154">154</a>     }
<a name="155" href="#155">155</a> 
<a name="156" href="#156">156</a>     <em class="jxr_javadoccomment">/**</em>
<a name="157" href="#157">157</a> <em class="jxr_javadoccomment">     * Returns the number of written bytes per second.</em>
<a name="158" href="#158">158</a> <em class="jxr_javadoccomment">     */</em>
<a name="159" href="#159">159</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> getWrittenBytesThroughput() {
<a name="160" href="#160">160</a>         resetThroughput();
<a name="161" href="#161">161</a>         <strong class="jxr_keyword">return</strong> writtenBytesThroughput;
<a name="162" href="#162">162</a>     }
<a name="163" href="#163">163</a> 
<a name="164" href="#164">164</a>     <em class="jxr_javadoccomment">/**</em>
<a name="165" href="#165">165</a> <em class="jxr_javadoccomment">     * Returns the number of read messages per second.</em>
<a name="166" href="#166">166</a> <em class="jxr_javadoccomment">     */</em>
<a name="167" href="#167">167</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> getReadMessagesThroughput() {
<a name="168" href="#168">168</a>         resetThroughput();
<a name="169" href="#169">169</a>         <strong class="jxr_keyword">return</strong> readMessagesThroughput;
<a name="170" href="#170">170</a>     }
<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 written messages per second.</em>
<a name="174" href="#174">174</a> <em class="jxr_javadoccomment">     */</em>
<a name="175" href="#175">175</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> getWrittenMessagesThroughput() {
<a name="176" href="#176">176</a>         resetThroughput();
<a name="177" href="#177">177</a>         <strong class="jxr_keyword">return</strong> writtenMessagesThroughput;
<a name="178" href="#178">178</a>     }
<a name="179" href="#179">179</a> 
<a name="180" href="#180">180</a>     <em class="jxr_javadoccomment">/**</em>
<a name="181" href="#181">181</a> <em class="jxr_javadoccomment">     * Returns the maximum of the {@link #getReadBytesThroughput() readBytesThroughput}.</em>
<a name="182" href="#182">182</a> <em class="jxr_javadoccomment">     */</em>
<a name="183" href="#183">183</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> getLargestReadBytesThroughput() {
<a name="184" href="#184">184</a>         <strong class="jxr_keyword">return</strong> largestReadBytesThroughput;
<a name="185" href="#185">185</a>     }
<a name="186" href="#186">186</a> 
<a name="187" href="#187">187</a>     <em class="jxr_javadoccomment">/**</em>
<a name="188" href="#188">188</a> <em class="jxr_javadoccomment">     * Returns the maximum of the {@link #getWrittenBytesThroughput() writtenBytesThroughput}.</em>
<a name="189" href="#189">189</a> <em class="jxr_javadoccomment">     */</em>
<a name="190" href="#190">190</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> getLargestWrittenBytesThroughput() {
<a name="191" href="#191">191</a>         <strong class="jxr_keyword">return</strong> largestWrittenBytesThroughput;
<a name="192" href="#192">192</a>     }
<a name="193" href="#193">193</a> 
<a name="194" href="#194">194</a>     <em class="jxr_javadoccomment">/**</em>
<a name="195" href="#195">195</a> <em class="jxr_javadoccomment">     * Returns the maximum of the {@link #getReadMessagesThroughput() readMessagesThroughput}.</em>
<a name="196" href="#196">196</a> <em class="jxr_javadoccomment">     */</em>
<a name="197" href="#197">197</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> getLargestReadMessagesThroughput() {
<a name="198" href="#198">198</a>         <strong class="jxr_keyword">return</strong> largestReadMessagesThroughput;
<a name="199" href="#199">199</a>     }
<a name="200" href="#200">200</a> 
<a name="201" href="#201">201</a>     <em class="jxr_javadoccomment">/**</em>
<a name="202" href="#202">202</a> <em class="jxr_javadoccomment">     * Returns the maximum of the {@link #getWrittenMessagesThroughput() writtenMessagesThroughput}.</em>
<a name="203" href="#203">203</a> <em class="jxr_javadoccomment">     */</em>
<a name="204" href="#204">204</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> getLargestWrittenMessagesThroughput() {
<a name="205" href="#205">205</a>         <strong class="jxr_keyword">return</strong> largestWrittenMessagesThroughput;
<a name="206" href="#206">206</a>     }
<a name="207" href="#207">207</a> 
<a name="208" href="#208">208</a>     <em class="jxr_javadoccomment">/**</em>
<a name="209" href="#209">209</a> <em class="jxr_javadoccomment">     * Returns the interval (seconds) between each throughput calculation.</em>
<a name="210" href="#210">210</a> <em class="jxr_javadoccomment">     * The default value is &lt;tt&gt;3&lt;/tt&gt; seconds.</em>
<a name="211" href="#211">211</a> <em class="jxr_javadoccomment">     */</em>
<a name="212" href="#212">212</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> getThroughputCalculationInterval() {
<a name="213" href="#213">213</a>         <strong class="jxr_keyword">return</strong> throughputCalculationInterval;
<a name="214" href="#214">214</a>     }
<a name="215" href="#215">215</a> 
<a name="216" href="#216">216</a>     <em class="jxr_javadoccomment">/**</em>
<a name="217" href="#217">217</a> <em class="jxr_javadoccomment">     * Returns the interval (milliseconds) between each throughput calculation.</em>
<a name="218" href="#218">218</a> <em class="jxr_javadoccomment">     * The default value is &lt;tt&gt;3&lt;/tt&gt; seconds.</em>
<a name="219" href="#219">219</a> <em class="jxr_javadoccomment">     */</em>
<a name="220" href="#220">220</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getThroughputCalculationIntervalInMillis() {
<a name="221" href="#221">221</a>         <strong class="jxr_keyword">return</strong> throughputCalculationInterval * 1000L;
<a name="222" href="#222">222</a>     }
<a name="223" href="#223">223</a> 
<a name="224" href="#224">224</a>     <em class="jxr_javadoccomment">/**</em>
<a name="225" href="#225">225</a> <em class="jxr_javadoccomment">     * Sets the interval (seconds) between each throughput calculation.  The</em>
<a name="226" href="#226">226</a> <em class="jxr_javadoccomment">     * default value is &lt;tt&gt;3&lt;/tt&gt; seconds.</em>
<a name="227" href="#227">227</a> <em class="jxr_javadoccomment">     */</em>
<a name="228" href="#228">228</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> setThroughputCalculationInterval(
<a name="229" href="#229">229</a>             <strong class="jxr_keyword">int</strong> throughputCalculationInterval) {
<a name="230" href="#230">230</a>         <strong class="jxr_keyword">if</strong> (throughputCalculationInterval &lt; 0) {
<a name="231" href="#231">231</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a name="232" href="#232">232</a>                     <span class="jxr_string">"throughputCalculationInterval: "</span>
<a name="233" href="#233">233</a>                             + throughputCalculationInterval);
<a name="234" href="#234">234</a>         }
<a name="235" href="#235">235</a> 
<a name="236" href="#236">236</a>         <strong class="jxr_keyword">this</strong>.throughputCalculationInterval = throughputCalculationInterval;
<a name="237" href="#237">237</a>     }
<a name="238" href="#238">238</a> 
<a name="239" href="#239">239</a>     <em class="jxr_javadoccomment">/**</em>
<a name="240" href="#240">240</a> <em class="jxr_javadoccomment">     * TODO add documentation</em>
<a name="241" href="#241">241</a> <em class="jxr_javadoccomment">     */</em>
<a name="242" href="#242">242</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> setLastReadTime(<strong class="jxr_keyword">long</strong> lastReadTime) {
<a name="243" href="#243">243</a>         <strong class="jxr_keyword">this</strong>.lastReadTime = lastReadTime;
<a name="244" href="#244">244</a>     }
<a name="245" href="#245">245</a> 
<a name="246" href="#246">246</a>     <em class="jxr_javadoccomment">/**</em>
<a name="247" href="#247">247</a> <em class="jxr_javadoccomment">     * TODO add documentation</em>
<a name="248" href="#248">248</a> <em class="jxr_javadoccomment">     */</em>     
<a name="249" href="#249">249</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> setLastWriteTime(<strong class="jxr_keyword">long</strong> lastWriteTime) {
<a name="250" href="#250">250</a>         <strong class="jxr_keyword">this</strong>.lastWriteTime = lastWriteTime;
<a name="251" href="#251">251</a>     }
<a name="252" href="#252">252</a>     
<a name="253" href="#253">253</a>     <em class="jxr_javadoccomment">/**</em>
<a name="254" href="#254">254</a> <em class="jxr_javadoccomment">     * TODO add documentation</em>
<a name="255" href="#255">255</a> <em class="jxr_javadoccomment">     */</em>
<a name="256" href="#256">256</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> resetThroughput() {
<a name="257" href="#257">257</a>         <strong class="jxr_keyword">if</strong> (service.getManagedSessionCount() == 0) {
<a name="258" href="#258">258</a>             readBytesThroughput = 0;
<a name="259" href="#259">259</a>             writtenBytesThroughput = 0;
<a name="260" href="#260">260</a>             readMessagesThroughput = 0;
<a name="261" href="#261">261</a>             writtenMessagesThroughput = 0;
<a name="262" href="#262">262</a>         }
<a name="263" href="#263">263</a>     }
<a name="264" href="#264">264</a> 
<a name="265" href="#265">265</a>     <em class="jxr_javadoccomment">/**</em>
<a name="266" href="#266">266</a> <em class="jxr_javadoccomment">     * TODO add documentation</em>
<a name="267" href="#267">267</a> <em class="jxr_javadoccomment">     */</em>    
<a name="268" href="#268">268</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> updateThroughput(<strong class="jxr_keyword">long</strong> currentTime) {
<a name="269" href="#269">269</a>         <strong class="jxr_keyword">synchronized</strong> (throughputCalculationLock) {
<a name="270" href="#270">270</a>             <strong class="jxr_keyword">int</strong> interval = (<strong class="jxr_keyword">int</strong>) (currentTime - lastThroughputCalculationTime);
<a name="271" href="#271">271</a>             <strong class="jxr_keyword">long</strong> minInterval = getThroughputCalculationIntervalInMillis();
<a name="272" href="#272">272</a>             <strong class="jxr_keyword">if</strong> (minInterval == 0 || interval &lt; minInterval) {
<a name="273" href="#273">273</a>                 <strong class="jxr_keyword">return</strong>;
<a name="274" href="#274">274</a>             }
<a name="275" href="#275">275</a> 
<a name="276" href="#276">276</a>             <strong class="jxr_keyword">long</strong> readBytes = <strong class="jxr_keyword">this</strong>.readBytes.get();
<a name="277" href="#277">277</a>             <strong class="jxr_keyword">long</strong> writtenBytes = <strong class="jxr_keyword">this</strong>.writtenBytes.get();
<a name="278" href="#278">278</a>             <strong class="jxr_keyword">long</strong> readMessages = <strong class="jxr_keyword">this</strong>.readMessages.get();
<a name="279" href="#279">279</a>             <strong class="jxr_keyword">long</strong> writtenMessages = <strong class="jxr_keyword">this</strong>.writtenMessages.get();
<a name="280" href="#280">280</a> 
<a name="281" href="#281">281</a>             readBytesThroughput = (readBytes - lastReadBytes) * 1000.0
<a name="282" href="#282">282</a>                     / interval;
<a name="283" href="#283">283</a>             writtenBytesThroughput = (writtenBytes - lastWrittenBytes) * 1000.0
<a name="284" href="#284">284</a>                     / interval;
<a name="285" href="#285">285</a>             readMessagesThroughput = (readMessages - lastReadMessages) * 1000.0
<a name="286" href="#286">286</a>                     / interval;
<a name="287" href="#287">287</a>             writtenMessagesThroughput = (writtenMessages - lastWrittenMessages)
<a name="288" href="#288">288</a>                     * 1000.0 / interval;
<a name="289" href="#289">289</a> 
<a name="290" href="#290">290</a>             <strong class="jxr_keyword">if</strong> (readBytesThroughput &gt; largestReadBytesThroughput) {
<a name="291" href="#291">291</a>                 largestReadBytesThroughput = readBytesThroughput;
<a name="292" href="#292">292</a>             }
<a name="293" href="#293">293</a>             <strong class="jxr_keyword">if</strong> (writtenBytesThroughput &gt; largestWrittenBytesThroughput) {
<a name="294" href="#294">294</a>                 largestWrittenBytesThroughput = writtenBytesThroughput;
<a name="295" href="#295">295</a>             }
<a name="296" href="#296">296</a>             <strong class="jxr_keyword">if</strong> (readMessagesThroughput &gt; largestReadMessagesThroughput) {
<a name="297" href="#297">297</a>                 largestReadMessagesThroughput = readMessagesThroughput;
<a name="298" href="#298">298</a>             }
<a name="299" href="#299">299</a>             <strong class="jxr_keyword">if</strong> (writtenMessagesThroughput &gt; largestWrittenMessagesThroughput) {
<a name="300" href="#300">300</a>                 largestWrittenMessagesThroughput = writtenMessagesThroughput;
<a name="301" href="#301">301</a>             }
<a name="302" href="#302">302</a> 
<a name="303" href="#303">303</a>             lastReadBytes = readBytes;
<a name="304" href="#304">304</a>             lastWrittenBytes = writtenBytes;
<a name="305" href="#305">305</a>             lastReadMessages = readMessages;
<a name="306" href="#306">306</a>             lastWrittenMessages = writtenMessages;
<a name="307" href="#307">307</a> 
<a name="308" href="#308">308</a>             lastThroughputCalculationTime = currentTime;
<a name="309" href="#309">309</a>         }
<a name="310" href="#310">310</a>     }
<a name="311" href="#311">311</a>     
<a name="312" href="#312">312</a>     <em class="jxr_javadoccomment">/**</em>
<a name="313" href="#313">313</a> <em class="jxr_javadoccomment">     * TODO add documentation</em>
<a name="314" href="#314">314</a> <em class="jxr_javadoccomment">     */</em> 
<a name="315" href="#315">315</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> increaseReadBytes(<strong class="jxr_keyword">long</strong> increment, <strong class="jxr_keyword">long</strong> currentTime) {
<a name="316" href="#316">316</a>         readBytes.addAndGet(increment);
<a name="317" href="#317">317</a>         lastReadTime = currentTime;
<a name="318" href="#318">318</a>         service.getIdleState().resetIdleCountForRead();
<a name="319" href="#319">319</a>     }
<a name="320" href="#320">320</a> 
<a name="321" href="#321">321</a>     <em class="jxr_javadoccomment">/**</em>
<a name="322" href="#322">322</a> <em class="jxr_javadoccomment">     * TODO add documentation</em>
<a name="323" href="#323">323</a> <em class="jxr_javadoccomment">     */</em>     
<a name="324" href="#324">324</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> increaseReadMessages(<strong class="jxr_keyword">long</strong> currentTime) {
<a name="325" href="#325">325</a>         readMessages.incrementAndGet();
<a name="326" href="#326">326</a>         lastReadTime = currentTime;
<a name="327" href="#327">327</a>         service.getIdleState().resetIdleCountForRead();
<a name="328" href="#328">328</a>     }
<a name="329" href="#329">329</a>     
<a name="330" href="#330">330</a>     <em class="jxr_javadoccomment">/**</em>
<a name="331" href="#331">331</a> <em class="jxr_javadoccomment">     * TODO add documentation</em>
<a name="332" href="#332">332</a> <em class="jxr_javadoccomment">     */</em>
<a name="333" href="#333">333</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> increaseWrittenBytes(<strong class="jxr_keyword">int</strong> increment, <strong class="jxr_keyword">long</strong> currentTime) {
<a name="334" href="#334">334</a>         writtenBytes.addAndGet(increment);
<a name="335" href="#335">335</a>         lastWriteTime = currentTime;
<a name="336" href="#336">336</a>         service.getIdleState().resetIdleCountForWrite();
<a name="337" href="#337">337</a>     }
<a name="338" href="#338">338</a> 
<a name="339" href="#339">339</a>     <em class="jxr_javadoccomment">/**</em>
<a name="340" href="#340">340</a> <em class="jxr_javadoccomment">     * TODO add documentation</em>
<a name="341" href="#341">341</a> <em class="jxr_javadoccomment">     */</em>    
<a name="342" href="#342">342</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> increaseWrittenMessages(<strong class="jxr_keyword">long</strong> currentTime) {
<a name="343" href="#343">343</a>         writtenMessages.incrementAndGet();
<a name="344" href="#344">344</a>         lastWriteTime = currentTime;
<a name="345" href="#345">345</a>         service.getIdleState().resetIdleCountForWrite();
<a name="346" href="#346">346</a>     }
<a name="347" href="#347">347</a>     
<a name="348" href="#348">348</a>     <em class="jxr_javadoccomment">/**</em>
<a name="349" href="#349">349</a> <em class="jxr_javadoccomment">     * TODO add documentation</em>
<a name="350" href="#350">350</a> <em class="jxr_javadoccomment">     */</em>
<a name="351" href="#351">351</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> getScheduledWriteBytes() {
<a name="352" href="#352">352</a>         <strong class="jxr_keyword">return</strong> scheduledWriteBytes.get();
<a name="353" href="#353">353</a>     }
<a name="354" href="#354">354</a> 
<a name="355" href="#355">355</a>     <em class="jxr_javadoccomment">/**</em>
<a name="356" href="#356">356</a> <em class="jxr_javadoccomment">     * TODO add documentation</em>
<a name="357" href="#357">357</a> <em class="jxr_javadoccomment">     */</em>    
<a name="358" href="#358">358</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> increaseScheduledWriteBytes(<strong class="jxr_keyword">int</strong> increment) {
<a name="359" href="#359">359</a>         scheduledWriteBytes.addAndGet(increment);
<a name="360" href="#360">360</a>     }
<a name="361" href="#361">361</a> 
<a name="362" href="#362">362</a>     <em class="jxr_javadoccomment">/**</em>
<a name="363" href="#363">363</a> <em class="jxr_javadoccomment">     * TODO add documentation</em>
<a name="364" href="#364">364</a> <em class="jxr_javadoccomment">     */</em>
<a name="365" href="#365">365</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> getScheduledWriteMessages() {
<a name="366" href="#366">366</a>         <strong class="jxr_keyword">return</strong> scheduledWriteMessages.get();
<a name="367" href="#367">367</a>     }
<a name="368" href="#368">368</a> 
<a name="369" href="#369">369</a>     <em class="jxr_javadoccomment">/**</em>
<a name="370" href="#370">370</a> <em class="jxr_javadoccomment">     * TODO add documentation</em>
<a name="371" href="#371">371</a> <em class="jxr_javadoccomment">     */</em>    
<a name="372" href="#372">372</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> increaseScheduledWriteMessages() {
<a name="373" href="#373">373</a>         scheduledWriteMessages.incrementAndGet();
<a name="374" href="#374">374</a>     }
<a name="375" href="#375">375</a> 
<a name="376" href="#376">376</a>     <em class="jxr_javadoccomment">/**</em>
<a name="377" href="#377">377</a> <em class="jxr_javadoccomment">     * TODO add documentation</em>
<a name="378" href="#378">378</a> <em class="jxr_javadoccomment">     */</em>    
<a name="379" href="#379">379</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> decreaseScheduledWriteMessages() {
<a name="380" href="#380">380</a>         scheduledWriteMessages.decrementAndGet();
<a name="381" href="#381">381</a>     }
<a name="382" href="#382">382</a> 
<a name="383" href="#383">383</a>     <em class="jxr_javadoccomment">/**</em>
<a name="384" href="#384">384</a> <em class="jxr_javadoccomment">     * TODO add documentation</em>
<a name="385" href="#385">385</a> <em class="jxr_javadoccomment">     */</em>        
<a name="386" href="#386">386</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setLastThroughputCalculationTime(
<a name="387" href="#387">387</a>             <strong class="jxr_keyword">long</strong> lastThroughputCalculationTime) {
<a name="388" href="#388">388</a>         <strong class="jxr_keyword">this</strong>.lastThroughputCalculationTime = lastThroughputCalculationTime;
<a name="389" href="#389">389</a>     }    
<a name="390" href="#390">390</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

