root/doc/html/classitpp_1_1Sequence__Number.html @ 353

Revision 353, 16.5 kB (checked in by smidl, 16 years ago)

doc

RevLine 
[353]1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mixpp: itpp::Sequence_Number Class Reference</title>
4<link href="tabs.css" rel="stylesheet" type="text/css">
5<link href="doxygen.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.8 -->
8<script type="text/javascript">
9<!--
10function changeDisplayState (e){
11  var num=this.id.replace(/[^[0-9]/g,'');
12  var button=this.firstChild;
13  var sectionDiv=document.getElementById('dynsection'+num);
14  if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
15    sectionDiv.style.display='block';
16    button.src='open.gif';
17  }else{
18    sectionDiv.style.display='none';
19    button.src='closed.gif';
20  }
21}
22function initDynSections(){
23  var divs=document.getElementsByTagName('div');
24  var sectionCounter=1;
25  for(var i=0;i<divs.length-1;i++){
26    if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
27      var header=divs[i];
28      var section=divs[i+1];
29      var button=header.firstChild;
30      if (button!='IMG'){
31        divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
32        button=document.createElement('img');
33        divs[i].insertBefore(button,divs[i].firstChild);
34      }
35      header.style.cursor='pointer';
36      header.onclick=changeDisplayState;
37      header.id='dynheader'+sectionCounter;
38      button.src='closed.gif';
39      section.id='dynsection'+sectionCounter;
40      section.style.display='none';
41      section.style.marginLeft='14px';
42      sectionCounter++;
43    }
44  }
45}
46window.onload = initDynSections;
47-->
48</script>
49<div class="navigation" id="top">
50  <div class="tabs">
51    <ul>
52      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
53      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
54      <li><a href="modules.html"><span>Modules</span></a></li>
55      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
56      <li><a href="files.html"><span>Files</span></a></li>
57    </ul>
58  </div>
59  <div class="tabs">
60    <ul>
61      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
62      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
63      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
64      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
65    </ul>
66  </div>
67  <div class="navpath"><b>itpp</b>::<a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a>
68  </div>
69</div>
70<div class="contents">
71<h1>itpp::Sequence_Number Class Reference<br>
72<small>
73[<a class="el" href="group__protocol.html">Protocols Module</a>]</small>
74</h1><!-- doxytag: class="itpp::Sequence_Number" --><code>#include &lt;<a class="el" href="tcp_8h-source.html">tcp.h</a>&gt;</code>
75<p>
76
77<p>
78<a href="classitpp_1_1Sequence__Number-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
79<tr><td></td></tr>
80<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
81<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="582d25efb59588a2f2f24fd6e3e5ab9a"></a><!-- doxytag: member="itpp::Sequence_Number::Sequence_Number" ref="582d25efb59588a2f2f24fd6e3e5ab9a" args="()" -->
82&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#582d25efb59588a2f2f24fd6e3e5ab9a">Sequence_Number</a> ()</td></tr>
83
84<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br></td></tr>
85<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8739baef4d4938bf739d29a28d96e8a"></a><!-- doxytag: member="itpp::Sequence_Number::Sequence_Number" ref="a8739baef4d4938bf739d29a28d96e8a" args="(const Sequence_Number &amp;n)" -->
86&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#a8739baef4d4938bf739d29a28d96e8a">Sequence_Number</a> (const <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> &amp;n)</td></tr>
87
88<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
89<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="87f29a844cd357b5ae431816acbe9f2f"></a><!-- doxytag: member="itpp::Sequence_Number::operator=" ref="87f29a844cd357b5ae431816acbe9f2f" args="(const Sequence_Number &amp;n)" -->
90<a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#87f29a844cd357b5ae431816acbe9f2f">operator=</a> (const <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> &amp;n)</td></tr>
91
92<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
93<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aad581ad8c75034b22d2471a373ef67f"></a><!-- doxytag: member="itpp::Sequence_Number::operator=" ref="aad581ad8c75034b22d2471a373ef67f" args="(const int &amp;rep)" -->
94<a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#aad581ad8c75034b22d2471a373ef67f">operator=</a> (const int &amp;rep)</td></tr>
95
96<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
97<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1f9739b17b4bf0c7eedae40c1e46534b"></a><!-- doxytag: member="itpp::Sequence_Number::operator==" ref="1f9739b17b4bf0c7eedae40c1e46534b" args="(const Sequence_Number &amp;n) const " -->
98bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#1f9739b17b4bf0c7eedae40c1e46534b">operator==</a> (const <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> &amp;n) const </td></tr>
99
100<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
101<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0d6204068a566cd9199529feb695c435"></a><!-- doxytag: member="itpp::Sequence_Number::operator!=" ref="0d6204068a566cd9199529feb695c435" args="(const Sequence_Number &amp;n) const " -->
102bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#0d6204068a566cd9199529feb695c435">operator!=</a> (const <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> &amp;n) const </td></tr>
103
104<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
105<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="155aef7a63461db47094064648fd040e"></a><!-- doxytag: member="itpp::Sequence_Number::operator&gt;" ref="155aef7a63461db47094064648fd040e" args="(const Sequence_Number &amp;n) const " -->
106bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#155aef7a63461db47094064648fd040e">operator&gt;</a> (const <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> &amp;n) const </td></tr>
107
108<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
109<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b9691c4e30b0db5621a09648ba6495ee"></a><!-- doxytag: member="itpp::Sequence_Number::operator&gt;=" ref="b9691c4e30b0db5621a09648ba6495ee" args="(const Sequence_Number &amp;n) const " -->
110bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#b9691c4e30b0db5621a09648ba6495ee">operator&gt;=</a> (const <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> &amp;n) const </td></tr>
111
112<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
113<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="51c23eec4be89c1edde8636462f2b32c"></a><!-- doxytag: member="itpp::Sequence_Number::operator&lt;" ref="51c23eec4be89c1edde8636462f2b32c" args="(const Sequence_Number &amp;n) const " -->
114bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#51c23eec4be89c1edde8636462f2b32c">operator&lt;</a> (const <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> &amp;n) const </td></tr>
115
116<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
117<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="47388fd084107dbc127f7e2b1491c195"></a><!-- doxytag: member="itpp::Sequence_Number::operator&lt;=" ref="47388fd084107dbc127f7e2b1491c195" args="(const Sequence_Number &amp;n) const " -->
118bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#47388fd084107dbc127f7e2b1491c195">operator&lt;=</a> (const <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> &amp;n) const </td></tr>
119
120<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
121<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fd156263992c86596d641933d401f305"></a><!-- doxytag: member="itpp::Sequence_Number::operator+" ref="fd156263992c86596d641933d401f305" args="(const int n) const " -->
122<a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#fd156263992c86596d641933d401f305">operator+</a> (const int n) const </td></tr>
123
124<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
125<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ba1ee9585cb3b916d6066969c7800204"></a><!-- doxytag: member="itpp::Sequence_Number::operator+=" ref="ba1ee9585cb3b916d6066969c7800204" args="(const int n)" -->
126<a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#ba1ee9585cb3b916d6066969c7800204">operator+=</a> (const int n)</td></tr>
127
128<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
129<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="15e019871553b45c3d184351dc97a84c"></a><!-- doxytag: member="itpp::Sequence_Number::operator&#45;" ref="15e019871553b45c3d184351dc97a84c" args="(const int n) const " -->
130<a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#15e019871553b45c3d184351dc97a84c">operator-</a> (const int n) const </td></tr>
131
132<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
133<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="631e2e9982523e7792b1db038d836058"></a><!-- doxytag: member="itpp::Sequence_Number::operator&#45;=" ref="631e2e9982523e7792b1db038d836058" args="(const int n)" -->
134<a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#631e2e9982523e7792b1db038d836058">operator-=</a> (const int n)</td></tr>
135
136<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
137<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ff894d6999e515f1000053dbcb315130"></a><!-- doxytag: member="itpp::Sequence_Number::operator&#45;" ref="ff894d6999e515f1000053dbcb315130" args="(const Sequence_Number &amp;n) const " -->
138int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#ff894d6999e515f1000053dbcb315130">operator-</a> (const <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> &amp;n) const </td></tr>
139
140<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
141<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="03a465e50cee4cb6b85193cc6a62ead1"></a><!-- doxytag: member="itpp::Sequence_Number::value" ref="03a465e50cee4cb6b85193cc6a62ead1" args="() const " -->
142int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#03a465e50cee4cb6b85193cc6a62ead1">value</a> () const </td></tr>
143
144<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Access to internal representation. <br></td></tr>
145<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
146<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="84f8b374fe8018b59cec59d75c5a2f44"></a><!-- doxytag: member="itpp::Sequence_Number::Sequence_Number" ref="84f8b374fe8018b59cec59d75c5a2f44" args="(int n)" -->
147&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#84f8b374fe8018b59cec59d75c5a2f44">Sequence_Number</a> (int n)</td></tr>
148
149<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
150<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
151<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5d5c03e8f57eceb55987815f0ebdfcf0"></a><!-- doxytag: member="itpp::Sequence_Number::seq" ref="5d5c03e8f57eceb55987815f0ebdfcf0" args="" -->
152int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#5d5c03e8f57eceb55987815f0ebdfcf0">seq</a></td></tr>
153
154<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
155<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
156<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="090a998977a68449dbb441947b45a4dd"></a><!-- doxytag: member="itpp::Sequence_Number::operator+" ref="090a998977a68449dbb441947b45a4dd" args="(const int n1, const Sequence_Number &amp;n2)" -->
157<a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#090a998977a68449dbb441947b45a4dd">operator+</a> (const int n1, const <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> &amp;n2)</td></tr>
158
159<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
160<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="86cabb669821e642f84eb49bd36700a9"></a><!-- doxytag: member="itpp::Sequence_Number::operator&lt;&lt;" ref="86cabb669821e642f84eb49bd36700a9" args="(std::ostream &amp;os, const Sequence_Number &amp;n)" -->
161std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#86cabb669821e642f84eb49bd36700a9">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> &amp;n)</td></tr>
162
163<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
164</table>
165<hr><a name="_details"></a><h2>Detailed Description</h2>
166TSequenceNumber represents a sequence number in a byte stream. As simulations may get quite long sequence numbers based on 32 bit integers may overflow. This is not a major problem as long as this overflow is considered when comparing sequence numbers. TSequenceNumber defines relational operators base on subtraction instead of using built-in int relational operators. This approach works well for arbitrary long simulations as long as the "real" sequence numbers (i.e. the numbers seen without overflow) compared to each other do not differ by more than 2^31-1 (INT_MAX) which is not a serious restriction in a realistic TCP scenario.<p>
167<dl class="see" compact><dt><b>See also:</b></dt><dd>TTCPSegment </dd></dl>
168<dl class="author" compact><dt><b>Author:</b></dt><dd>Bodamer </dd></dl>
169<hr>The documentation for this class was generated from the following file:<ul>
170<li><a class="el" href="tcp_8h-source.html">tcp.h</a></ul>
171</div>
172<hr size="1"><address style="text-align: right;"><small>Generated on Tue Jun 2 10:02:19 2009 for mixpp by&nbsp;
173<a href="http://www.doxygen.org/index.html">
174<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
175</body>
176</html>
Note: See TracBrowser for help on using the browser.