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 | <!-- |
---|
10 | function 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 | } |
---|
22 | function 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 | } |
---|
46 | window.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 Page</span></a></li> |
---|
53 | <li><a href="pages.html"><span>Related 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 List</span></a></li> |
---|
62 | <li><a href="classes.html"><span>Class Index</span></a></li> |
---|
63 | <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> |
---|
64 | <li><a href="functions.html"><span>Class 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 <<a class="el" href="tcp_8h-source.html">tcp.h</a>></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 | </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"> </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 &n)" --> |
---|
86 | </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> &n)</td></tr> |
---|
87 | |
---|
88 | <tr><td class="mdescLeft"> </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 &n)" --> |
---|
90 | <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> & </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> &n)</td></tr> |
---|
91 | |
---|
92 | <tr><td class="mdescLeft"> </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 &rep)" --> |
---|
94 | <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#aad581ad8c75034b22d2471a373ef67f">operator=</a> (const int &rep)</td></tr> |
---|
95 | |
---|
96 | <tr><td class="mdescLeft"> </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 &n) const " --> |
---|
98 | bool </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> &n) const </td></tr> |
---|
99 | |
---|
100 | <tr><td class="mdescLeft"> </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 &n) const " --> |
---|
102 | bool </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> &n) const </td></tr> |
---|
103 | |
---|
104 | <tr><td class="mdescLeft"> </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>" ref="155aef7a63461db47094064648fd040e" args="(const Sequence_Number &n) const " --> |
---|
106 | bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#155aef7a63461db47094064648fd040e">operator></a> (const <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> &n) const </td></tr> |
---|
107 | |
---|
108 | <tr><td class="mdescLeft"> </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>=" ref="b9691c4e30b0db5621a09648ba6495ee" args="(const Sequence_Number &n) const " --> |
---|
110 | bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#b9691c4e30b0db5621a09648ba6495ee">operator>=</a> (const <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> &n) const </td></tr> |
---|
111 | |
---|
112 | <tr><td class="mdescLeft"> </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<" ref="51c23eec4be89c1edde8636462f2b32c" args="(const Sequence_Number &n) const " --> |
---|
114 | bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#51c23eec4be89c1edde8636462f2b32c">operator<</a> (const <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> &n) const </td></tr> |
---|
115 | |
---|
116 | <tr><td class="mdescLeft"> </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<=" ref="47388fd084107dbc127f7e2b1491c195" args="(const Sequence_Number &n) const " --> |
---|
118 | bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#47388fd084107dbc127f7e2b1491c195">operator<=</a> (const <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> &n) const </td></tr> |
---|
119 | |
---|
120 | <tr><td class="mdescLeft"> </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> </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"> </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> & </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"> </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-" ref="15e019871553b45c3d184351dc97a84c" args="(const int n) const " --> |
---|
130 | <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> </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"> </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-=" ref="631e2e9982523e7792b1db038d836058" args="(const int n)" --> |
---|
134 | <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> & </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"> </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-" ref="ff894d6999e515f1000053dbcb315130" args="(const Sequence_Number &n) const " --> |
---|
138 | int </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> &n) const </td></tr> |
---|
139 | |
---|
140 | <tr><td class="mdescLeft"> </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 " --> |
---|
142 | int </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"> </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 | </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"> </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="" --> |
---|
152 | int </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"> </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 &n2)" --> |
---|
157 | <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> </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> &n2)</td></tr> |
---|
158 | |
---|
159 | <tr><td class="mdescLeft"> </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<<" ref="86cabb669821e642f84eb49bd36700a9" args="(std::ostream &os, const Sequence_Number &n)" --> |
---|
161 | std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Sequence__Number.html#86cabb669821e642f84eb49bd36700a9">operator<<</a> (std::ostream &os, const <a class="el" href="classitpp_1_1Sequence__Number.html">Sequence_Number</a> &n)</td></tr> |
---|
162 | |
---|
163 | <tr><td class="mdescLeft"> </td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr> |
---|
164 | </table> |
---|
165 | <hr><a name="_details"></a><h2>Detailed Description</h2> |
---|
166 | TSequenceNumber 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 |
---|
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> |
---|