<!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>ErrorGeneratingFilter xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.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>  
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.filter.errorgenerating;
<a name="22" href="#22">22</a>  
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.Random;
<a name="24" href="#24">24</a>  
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.buffer.IoBuffer;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.filterchain.IoFilter;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.filterchain.IoFilterAdapter;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IoSession;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.DefaultWriteRequest;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.WriteRequest;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<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"> * An {@link IoFilter} implementation generating random bytes and PDU modification in</em>
<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * your communication streams.</em>
<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * It's quite simple to use :</em>
<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> * &lt;code&gt;ErrorGeneratingFilter egf = new ErrorGeneratingFilter();&lt;/code&gt;</em>
<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> * For activate the change of some bytes in your {@link IoBuffer}, for a probability of 200 out</em>
<a name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> * of 1000 {@link IoBuffer} processed :</em>
<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> * &lt;code&gt;egf.setChangeByteProbability(200);&lt;/code&gt;</em>
<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> * For activate the insertion of some bytes in your {@link IoBuffer}, for a</em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> * probability of 200 out of 1000 :</em>
<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> * &lt;code&gt;egf.setInsertByteProbability(200);&lt;/code&gt;</em>
<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> * And for the removing of some bytes :</em>
<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> * &lt;code&gt;egf.setRemoveByteProbability(200);&lt;/code&gt;</em>
<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> * You can activate the error generation for write or read with the</em>
<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> * following methods :</em>
<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> * &lt;code&gt;egf.setManipulateReads(true);</em>
<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> * egf.setManipulateWrites(true); &lt;/code&gt;</em>
<a name="51" href="#51">51</a>  <em class="jxr_javadoccomment"> * </em>
<a name="52" href="#52">52</a>  <em class="jxr_javadoccomment"> * @author The Apache MINA Project (dev@mina.apache.org)</em>
<a name="53" href="#53">53</a>  <em class="jxr_javadoccomment"> * @version $Rev: 612456 $, $Date: 2008-01-16 14:49:47 +0100 (mer., 16 janv. 2008) $</em>
<a name="54" href="#54">54</a>  <em class="jxr_javadoccomment"> */</em>
<a name="55" href="#55">55</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.html">ErrorGeneratingFilter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html">IoFilterAdapter</a> {
<a name="56" href="#56">56</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> removeByteProbability = 0;
<a name="57" href="#57">57</a>  
<a name="58" href="#58">58</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> insertByteProbability = 0;
<a name="59" href="#59">59</a>  
<a name="60" href="#60">60</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> changeByteProbability = 0;
<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> removePduProbability = 0;
<a name="63" href="#63">63</a>  
<a name="64" href="#64">64</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> duplicatePduProbability = 0;
<a name="65" href="#65">65</a>  
<a name="66" href="#66">66</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> resendPduLasterProbability = 0;
<a name="67" href="#67">67</a>  
<a name="68" href="#68">68</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> maxInsertByte = 10;
<a name="69" href="#69">69</a>  
<a name="70" href="#70">70</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> manipulateWrites = false;
<a name="71" href="#71">71</a>  
<a name="72" href="#72">72</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> manipulateReads = false;
<a name="73" href="#73">73</a>  
<a name="74" href="#74">74</a>      <strong class="jxr_keyword">private</strong> Random rng = <strong class="jxr_keyword">new</strong> Random();
<a name="75" href="#75">75</a>  
<a name="76" href="#76">76</a>      <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">private</strong> Logger logger = LoggerFactory
<a name="77" href="#77">77</a>              .getLogger(ErrorGeneratingFilter.<strong class="jxr_keyword">class</strong>);
<a name="78" href="#78">78</a>  
<a name="79" href="#79">79</a>      @Override
<a name="80" href="#80">80</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> filterWrite(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="81" href="#81">81</a>              <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) <strong class="jxr_keyword">throws</strong> Exception {
<a name="82" href="#82">82</a>          <strong class="jxr_keyword">if</strong> (manipulateWrites) {
<a name="83" href="#83">83</a>              <em class="jxr_comment">// manipulate bytes</em>
<a name="84" href="#84">84</a>              <strong class="jxr_keyword">if</strong> (writeRequest.getMessage() instanceof IoBuffer) {
<a name="85" href="#85">85</a>                  manipulateIoBuffer(session, (IoBuffer) writeRequest
<a name="86" href="#86">86</a>                          .getMessage());
<a name="87" href="#87">87</a>                  <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> buffer = insertBytesToNewIoBuffer(session,
<a name="88" href="#88">88</a>                          (<a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a>) writeRequest.getMessage());
<a name="89" href="#89">89</a>                  <strong class="jxr_keyword">if</strong> (buffer != <strong class="jxr_keyword">null</strong>) {
<a name="90" href="#90">90</a>                      writeRequest = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/write/DefaultWriteRequest.html">DefaultWriteRequest</a>(buffer, writeRequest
<a name="91" href="#91">91</a>                              .getFuture(), writeRequest.getDestination());
<a name="92" href="#92">92</a>                  }
<a name="93" href="#93">93</a>                  <em class="jxr_comment">// manipulate PDU</em>
<a name="94" href="#94">94</a>              } <strong class="jxr_keyword">else</strong> {
<a name="95" href="#95">95</a>                  <strong class="jxr_keyword">if</strong> (duplicatePduProbability &gt; rng.nextInt()) {
<a name="96" href="#96">96</a>                      nextFilter.filterWrite(session, writeRequest);
<a name="97" href="#97">97</a>                  }
<a name="98" href="#98">98</a>                  <strong class="jxr_keyword">if</strong> (resendPduLasterProbability &gt; rng.nextInt()) {
<a name="99" href="#99">99</a>                      <em class="jxr_comment">// store it somewhere and trigger a write execution for</em>
<a name="100" href="#100">100</a>                     <em class="jxr_comment">// later</em>
<a name="101" href="#101">101</a>                     <em class="jxr_comment">// TODO</em>
<a name="102" href="#102">102</a>                 }
<a name="103" href="#103">103</a>                 <strong class="jxr_keyword">if</strong> (removePduProbability &gt; rng.nextInt()) {
<a name="104" href="#104">104</a>                     <strong class="jxr_keyword">return</strong>;
<a name="105" href="#105">105</a>                 }
<a name="106" href="#106">106</a>             }
<a name="107" href="#107">107</a>         }
<a name="108" href="#108">108</a>         nextFilter.filterWrite(session, writeRequest);
<a name="109" href="#109">109</a>     }
<a name="110" href="#110">110</a> 
<a name="111" href="#111">111</a>     @Override
<a name="112" href="#112">112</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> messageReceived(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="113" href="#113">113</a>             Object message) <strong class="jxr_keyword">throws</strong> Exception {
<a name="114" href="#114">114</a>         <strong class="jxr_keyword">if</strong> (manipulateReads) {
<a name="115" href="#115">115</a>             <strong class="jxr_keyword">if</strong> (message instanceof IoBuffer) {
<a name="116" href="#116">116</a>                 <em class="jxr_comment">// manipulate bytes</em>
<a name="117" href="#117">117</a>                 manipulateIoBuffer(session, (IoBuffer) message);
<a name="118" href="#118">118</a>                 <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> buffer = insertBytesToNewIoBuffer(session,
<a name="119" href="#119">119</a>                         (<a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a>) message);
<a name="120" href="#120">120</a>                 <strong class="jxr_keyword">if</strong> (buffer != <strong class="jxr_keyword">null</strong>) {
<a name="121" href="#121">121</a>                     message = buffer;
<a name="122" href="#122">122</a>                 }
<a name="123" href="#123">123</a>             } <strong class="jxr_keyword">else</strong> {
<a name="124" href="#124">124</a>                 <em class="jxr_comment">// manipulate PDU</em>
<a name="125" href="#125">125</a>             }
<a name="126" href="#126">126</a>         }
<a name="127" href="#127">127</a>         nextFilter.messageReceived(session, message);
<a name="128" href="#128">128</a>     }
<a name="129" href="#129">129</a> 
<a name="130" href="#130">130</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> insertBytesToNewIoBuffer(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> buffer) {
<a name="131" href="#131">131</a>         <strong class="jxr_keyword">if</strong> (insertByteProbability &gt; rng.nextInt(1000)) {
<a name="132" href="#132">132</a>             logger.info(buffer.getHexDump());
<a name="133" href="#133">133</a>             <em class="jxr_comment">// where to insert bytes ?</em>
<a name="134" href="#134">134</a>             <strong class="jxr_keyword">int</strong> pos = rng.nextInt(buffer.remaining()) - 1;
<a name="135" href="#135">135</a> 
<a name="136" href="#136">136</a>             <em class="jxr_comment">// how many byte to insert ?</em>
<a name="137" href="#137">137</a>             <strong class="jxr_keyword">int</strong> count = rng.nextInt(maxInsertByte-1)+1;
<a name="138" href="#138">138</a> 
<a name="139" href="#139">139</a>             <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> newBuff = IoBuffer.allocate(buffer.remaining() + count);
<a name="140" href="#140">140</a>             <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; pos; i++)
<a name="141" href="#141">141</a>                 newBuff.put(buffer.get());
<a name="142" href="#142">142</a>             <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; count; i++) {
<a name="143" href="#143">143</a>                 newBuff.put((byte) (rng.nextInt(256)));
<a name="144" href="#144">144</a>             }
<a name="145" href="#145">145</a>             <strong class="jxr_keyword">while</strong> (buffer.remaining() &gt; 0) {
<a name="146" href="#146">146</a>                 newBuff.put(buffer.get());
<a name="147" href="#147">147</a>             }
<a name="148" href="#148">148</a>             newBuff.flip();
<a name="149" href="#149">149</a> 
<a name="150" href="#150">150</a>             logger.info(<span class="jxr_string">"Inserted "</span> + count + <span class="jxr_string">" bytes."</span>);
<a name="151" href="#151">151</a>             logger.info(newBuff.getHexDump());
<a name="152" href="#152">152</a>             <strong class="jxr_keyword">return</strong> newBuff;
<a name="153" href="#153">153</a>         }
<a name="154" href="#154">154</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="155" href="#155">155</a>     }
<a name="156" href="#156">156</a> 
<a name="157" href="#157">157</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> manipulateIoBuffer(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> buffer) {
<a name="158" href="#158">158</a>         <strong class="jxr_keyword">if</strong> (removeByteProbability &gt; rng.nextInt(1000)) {
<a name="159" href="#159">159</a>             logger.info(buffer.getHexDump());
<a name="160" href="#160">160</a>             <em class="jxr_comment">// where to remove bytes ?</em>
<a name="161" href="#161">161</a>             <strong class="jxr_keyword">int</strong> pos = rng.nextInt(buffer.remaining());
<a name="162" href="#162">162</a>             <em class="jxr_comment">// how many byte to remove ?</em>
<a name="163" href="#163">163</a>             <strong class="jxr_keyword">int</strong> count = rng.nextInt(buffer.remaining() - pos) + 1;
<a name="164" href="#164">164</a>             <strong class="jxr_keyword">if</strong> (count == buffer.remaining())
<a name="165" href="#165">165</a>                 count = buffer.remaining() - 1;
<a name="166" href="#166">166</a> 
<a name="167" href="#167">167</a>             <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> newBuff = IoBuffer.allocate(buffer.remaining() - count);
<a name="168" href="#168">168</a>             <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; pos; i++)
<a name="169" href="#169">169</a>                 newBuff.put(buffer.get());
<a name="170" href="#170">170</a> 
<a name="171" href="#171">171</a>             buffer.skip(count); <em class="jxr_comment">// hole</em>
<a name="172" href="#172">172</a>             <strong class="jxr_keyword">while</strong> (newBuff.remaining() &gt; 0)
<a name="173" href="#173">173</a>                 newBuff.put(buffer.get());
<a name="174" href="#174">174</a>             newBuff.flip();
<a name="175" href="#175">175</a>             <em class="jxr_comment">// copy the new buffer in the old one</em>
<a name="176" href="#176">176</a>             buffer.rewind();
<a name="177" href="#177">177</a>             buffer.put(newBuff);
<a name="178" href="#178">178</a>             buffer.flip();
<a name="179" href="#179">179</a>             logger.info(<span class="jxr_string">"Removed "</span> + count + <span class="jxr_string">" bytes at position "</span> + pos + <span class="jxr_string">"."</span>);
<a name="180" href="#180">180</a>             logger.info(buffer.getHexDump());
<a name="181" href="#181">181</a>         }
<a name="182" href="#182">182</a>         <strong class="jxr_keyword">if</strong> (changeByteProbability &gt; rng.nextInt(1000)) {
<a name="183" href="#183">183</a>             logger.info(buffer.getHexDump());
<a name="184" href="#184">184</a>             <em class="jxr_comment">// how many byte to change ?</em>
<a name="185" href="#185">185</a>             <strong class="jxr_keyword">int</strong> count = rng.nextInt(buffer.remaining() - 1) + 1;
<a name="186" href="#186">186</a> 
<a name="187" href="#187">187</a>             byte[] values = <strong class="jxr_keyword">new</strong> byte[count];
<a name="188" href="#188">188</a>             rng.nextBytes(values);
<a name="189" href="#189">189</a>             <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; values.length; i++) {
<a name="190" href="#190">190</a>                 <strong class="jxr_keyword">int</strong> pos = rng.nextInt(buffer.remaining());
<a name="191" href="#191">191</a>                 buffer.put(pos, values[i]);
<a name="192" href="#192">192</a>             }
<a name="193" href="#193">193</a>             logger.info(<span class="jxr_string">"Modified "</span> + count + <span class="jxr_string">" bytes."</span>);
<a name="194" href="#194">194</a>             logger.info(buffer.getHexDump());
<a name="195" href="#195">195</a>         }
<a name="196" href="#196">196</a>     }
<a name="197" href="#197">197</a> 
<a name="198" href="#198">198</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getChangeByteProbability() {
<a name="199" href="#199">199</a>         <strong class="jxr_keyword">return</strong> changeByteProbability;
<a name="200" href="#200">200</a>     }
<a name="201" href="#201">201</a>     
<a name="202" href="#202">202</a>     <em class="jxr_javadoccomment">/**</em>
<a name="203" href="#203">203</a> <em class="jxr_javadoccomment">     * Set the probability for the change byte error.</em>
<a name="204" href="#204">204</a> <em class="jxr_javadoccomment">     * If this probability is &gt; 0 the filter will modify a random number of byte</em>
<a name="205" href="#205">205</a> <em class="jxr_javadoccomment">     * of the processed {@link IoBuffer}.</em>
<a name="206" href="#206">206</a> <em class="jxr_javadoccomment">     * @param changeByteProbability probability of modifying an IoBuffer out of 1000 processed {@link IoBuffer} </em>
<a name="207" href="#207">207</a> <em class="jxr_javadoccomment">     */</em>
<a name="208" href="#208">208</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setChangeByteProbability(<strong class="jxr_keyword">int</strong> changeByteProbability) {
<a name="209" href="#209">209</a>         <strong class="jxr_keyword">this</strong>.changeByteProbability = changeByteProbability;
<a name="210" href="#210">210</a>     }
<a name="211" href="#211">211</a> 
<a name="212" href="#212">212</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getDuplicatePduProbability() {
<a name="213" href="#213">213</a>         <strong class="jxr_keyword">return</strong> duplicatePduProbability;
<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">	 * not functional ATM</em>
<a name="218" href="#218">218</a> <em class="jxr_javadoccomment">	 * @param duplicatePduProbability</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">void</strong> setDuplicatePduProbability(<strong class="jxr_keyword">int</strong> duplicatePduProbability) {
<a name="221" href="#221">221</a>         <strong class="jxr_keyword">this</strong>.duplicatePduProbability = duplicatePduProbability;
<a name="222" href="#222">222</a>     }
<a name="223" href="#223">223</a> 
<a name="224" href="#224">224</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getInsertByteProbability() {
<a name="225" href="#225">225</a>         <strong class="jxr_keyword">return</strong> insertByteProbability;
<a name="226" href="#226">226</a>     }
<a name="227" href="#227">227</a> 
<a name="228" href="#228">228</a>     <em class="jxr_javadoccomment">/**</em>
<a name="229" href="#229">229</a> <em class="jxr_javadoccomment">     * Set the probability for the insert byte error.</em>
<a name="230" href="#230">230</a> <em class="jxr_javadoccomment">     * If this probability is &gt; 0 the filter will insert a random number of byte</em>
<a name="231" href="#231">231</a> <em class="jxr_javadoccomment">     * in the processed {@link IoBuffer}.</em>
<a name="232" href="#232">232</a> <em class="jxr_javadoccomment">     * @param changeByteProbability probability of inserting in IoBuffer out of 1000 processed {@link IoBuffer} </em>
<a name="233" href="#233">233</a> <em class="jxr_javadoccomment">     */</em>
<a name="234" href="#234">234</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setInsertByteProbability(<strong class="jxr_keyword">int</strong> insertByteProbability) {
<a name="235" href="#235">235</a>         <strong class="jxr_keyword">this</strong>.insertByteProbability = insertByteProbability;
<a name="236" href="#236">236</a>     }
<a name="237" href="#237">237</a> 
<a name="238" href="#238">238</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isManipulateReads() {
<a name="239" href="#239">239</a>         <strong class="jxr_keyword">return</strong> manipulateReads;
<a name="240" href="#240">240</a>     }
<a name="241" href="#241">241</a> 
<a name="242" href="#242">242</a>     <em class="jxr_javadoccomment">/**</em>
<a name="243" href="#243">243</a> <em class="jxr_javadoccomment">     * Set to true if you want to apply error to the read {@link IoBuffer}</em>
<a name="244" href="#244">244</a> <em class="jxr_javadoccomment">     * @param manipulateReads</em>
<a name="245" href="#245">245</a> <em class="jxr_javadoccomment">     */</em>
<a name="246" href="#246">246</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setManipulateReads(<strong class="jxr_keyword">boolean</strong> manipulateReads) {
<a name="247" href="#247">247</a>         <strong class="jxr_keyword">this</strong>.manipulateReads = manipulateReads;
<a name="248" href="#248">248</a>     }
<a name="249" href="#249">249</a> 
<a name="250" href="#250">250</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isManipulateWrites() {
<a name="251" href="#251">251</a>         <strong class="jxr_keyword">return</strong> manipulateWrites;
<a name="252" href="#252">252</a>     }
<a name="253" href="#253">253</a> 
<a name="254" href="#254">254</a>     <em class="jxr_javadoccomment">/**</em>
<a name="255" href="#255">255</a> <em class="jxr_javadoccomment">     * Set to true if you want to apply error to the written {@link IoBuffer}</em>
<a name="256" href="#256">256</a> <em class="jxr_javadoccomment">     * @param manipulateWrites</em>
<a name="257" href="#257">257</a> <em class="jxr_javadoccomment">     */</em>
<a name="258" href="#258">258</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setManipulateWrites(<strong class="jxr_keyword">boolean</strong> manipulateWrites) {
<a name="259" href="#259">259</a>         <strong class="jxr_keyword">this</strong>.manipulateWrites = manipulateWrites;
<a name="260" href="#260">260</a>     }
<a name="261" href="#261">261</a> 
<a name="262" href="#262">262</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getRemoveByteProbability() {
<a name="263" href="#263">263</a>         <strong class="jxr_keyword">return</strong> removeByteProbability;
<a name="264" href="#264">264</a>     }
<a name="265" href="#265">265</a> 
<a name="266" href="#266">266</a>     <em class="jxr_javadoccomment">/**</em>
<a name="267" href="#267">267</a> <em class="jxr_javadoccomment">     * Set the probability for the remove byte error.</em>
<a name="268" href="#268">268</a> <em class="jxr_javadoccomment">     * If this probability is &gt; 0 the filter will remove a random number of byte</em>
<a name="269" href="#269">269</a> <em class="jxr_javadoccomment">     * in the processed {@link IoBuffer}.</em>
<a name="270" href="#270">270</a> <em class="jxr_javadoccomment">     * @param changeByteProbability probability of modifying an {@link IoBuffer} out of 1000 processed IoBuffer </em>
<a name="271" href="#271">271</a> <em class="jxr_javadoccomment">     */</em>
<a name="272" href="#272">272</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setRemoveByteProbability(<strong class="jxr_keyword">int</strong> removeByteProbability) {
<a name="273" href="#273">273</a>         <strong class="jxr_keyword">this</strong>.removeByteProbability = removeByteProbability;
<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">public</strong> <strong class="jxr_keyword">int</strong> getRemovePduProbability() {
<a name="277" href="#277">277</a>         <strong class="jxr_keyword">return</strong> removePduProbability;
<a name="278" href="#278">278</a>     }
<a name="279" href="#279">279</a> 
<a name="280" href="#280">280</a>     <em class="jxr_javadoccomment">/**</em>
<a name="281" href="#281">281</a> <em class="jxr_javadoccomment">     * not functional ATM</em>
<a name="282" href="#282">282</a> <em class="jxr_javadoccomment">     * @param removePduProbability</em>
<a name="283" href="#283">283</a> <em class="jxr_javadoccomment">     */</em>
<a name="284" href="#284">284</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setRemovePduProbability(<strong class="jxr_keyword">int</strong> removePduProbability) {
<a name="285" href="#285">285</a>         <strong class="jxr_keyword">this</strong>.removePduProbability = removePduProbability;
<a name="286" href="#286">286</a>     }
<a name="287" href="#287">287</a> 
<a name="288" href="#288">288</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getResendPduLasterProbability() {
<a name="289" href="#289">289</a>         <strong class="jxr_keyword">return</strong> resendPduLasterProbability;
<a name="290" href="#290">290</a>     }
<a name="291" href="#291">291</a> 	<em class="jxr_javadoccomment">/**</em>
<a name="292" href="#292">292</a> <em class="jxr_javadoccomment">	 * not functional ATM</em>
<a name="293" href="#293">293</a> <em class="jxr_javadoccomment">	 * @param resendPduLasterProbability</em>
<a name="294" href="#294">294</a> <em class="jxr_javadoccomment">	 */</em>
<a name="295" href="#295">295</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setResendPduLasterProbability(<strong class="jxr_keyword">int</strong> resendPduLasterProbability) {
<a name="296" href="#296">296</a>         <strong class="jxr_keyword">this</strong>.resendPduLasterProbability = resendPduLasterProbability;
<a name="297" href="#297">297</a>     }
<a name="298" href="#298">298</a> 
<a name="299" href="#299">299</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getMaxInsertByte() {
<a name="300" href="#300">300</a>         <strong class="jxr_keyword">return</strong> maxInsertByte;
<a name="301" href="#301">301</a>     }
<a name="302" href="#302">302</a> 
<a name="303" href="#303">303</a>     <em class="jxr_javadoccomment">/**</em>
<a name="304" href="#304">304</a> <em class="jxr_javadoccomment">     * Set the maximum number of byte the filter can insert in a {@link IoBuffer}.</em>
<a name="305" href="#305">305</a> <em class="jxr_javadoccomment">     * The default value is 10.</em>
<a name="306" href="#306">306</a> <em class="jxr_javadoccomment">     * @param maxInsertByte maximum bytes inserted in a {@link IoBuffer} </em>
<a name="307" href="#307">307</a> <em class="jxr_javadoccomment">     */</em>
<a name="308" href="#308">308</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setMaxInsertByte(<strong class="jxr_keyword">int</strong> maxInsertByte) {
<a name="309" href="#309">309</a>         <strong class="jxr_keyword">this</strong>.maxInsertByte = maxInsertByte;
<a name="310" href="#310">310</a>     }
<a name="311" href="#311">311</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

