|
|
| 95 |
void Test3_HandleRecv (Ptr<Socket> sock); |
95 |
void Test3_HandleRecv (Ptr<Socket> sock); |
| 96 |
uint32_t test3_payloadSize; |
96 |
uint32_t test3_payloadSize; |
| 97 |
|
97 |
|
|
|
98 |
//test 4, check endpoint deallocation -- the easy way (bug 559) |
| 99 |
void Test4 (void); |
| 100 |
|
| 101 |
//test 5, check endpoint deallocation -- the hard way (bug 559) |
| 102 |
void Test5 (void); |
| 103 |
|
| 98 |
//helpers to make topology construction easier |
104 |
//helpers to make topology construction easier |
| 99 |
Ptr<Node> CreateInternetNode (); |
105 |
Ptr<Node> CreateInternetNode (); |
| 100 |
Ptr<SimpleNetDevice> AddSimpleNetDevice (Ptr<Node>,const char*,const char*); |
106 |
Ptr<SimpleNetDevice> AddSimpleNetDevice (Ptr<Node>,const char*,const char*); |
|
|
| 139 |
Test2(600); |
145 |
Test2(600); |
| 140 |
if (!result) return false; |
146 |
if (!result) return false; |
| 141 |
Test3(20000); |
147 |
Test3(20000); |
|
|
148 |
if (!result) return false; |
| 149 |
Test4(); |
| 150 |
if (!result) return false; |
| 151 |
Test5(); |
| 142 |
return result; |
152 |
return result; |
| 143 |
} |
153 |
} |
| 144 |
|
154 |
|
|
|
| 286 |
} |
296 |
} |
| 287 |
|
297 |
|
| 288 |
//----------------------------------------------------------------------------- |
298 |
//----------------------------------------------------------------------------- |
|
|
299 |
//test 4----------------------------------------------------------------------- |
| 300 |
//----------------------------------------------------------------------------- |
| 301 |
void |
| 302 |
TcpSocketImplTest::Test4 (void) |
| 303 |
{ |
| 304 |
int r; |
| 305 |
SetupDefaultSim (); |
| 306 |
InetSocketAddress addr (Ipv4Address::GetAny(), 12345); |
| 307 |
Ptr<SocketFactory> sockFactory0 = node0->GetObject<TcpSocketFactory> (); |
| 308 |
Ptr<Socket> sock1 = sockFactory0->CreateSocket(), |
| 309 |
sock2 = sockFactory0->CreateSocket(); |
| 310 |
r = sock1->Bind (addr); |
| 311 |
NS_ASSERT (!r); |
| 312 |
r = sock1->Listen (); |
| 313 |
NS_ASSERT (!r); |
| 314 |
sock1->Close (); |
| 315 |
r = sock2->Bind (addr); |
| 316 |
result = r == 0; |
| 317 |
sock2->Close (); |
| 318 |
sock1 = sock2 = 0; |
| 319 |
Reset (); |
| 320 |
} |
| 321 |
|
| 322 |
//----------------------------------------------------------------------------- |
| 323 |
//test 5----------------------------------------------------------------------- |
| 324 |
//----------------------------------------------------------------------------- |
| 325 |
void |
| 326 |
TcpSocketImplTest::Test5 (void) |
| 327 |
{ |
| 328 |
int r; |
| 329 |
SetupDefaultSim (); |
| 330 |
InetSocketAddress addr (Ipv4Address::GetAny(), 12345); |
| 331 |
Ptr<SocketFactory> sockFactory0 = node0->GetObject<TcpSocketFactory> (); |
| 332 |
Ptr<Socket> sock1 = sockFactory0->CreateSocket(), |
| 333 |
sock2 = sockFactory0->CreateSocket(); |
| 334 |
r = sock1->Bind (addr); |
| 335 |
NS_ASSERT (!r); |
| 336 |
sock1->Close (); |
| 337 |
r = sock2->Bind (addr); |
| 338 |
result = r == 0; |
| 339 |
sock2->Close (); |
| 340 |
sock1 = sock2 = 0; |
| 341 |
Reset (); |
| 342 |
} |
| 343 |
|
| 344 |
//----------------------------------------------------------------------------- |
| 289 |
//helpers---------------------------------------------------------------------- |
345 |
//helpers---------------------------------------------------------------------- |
| 290 |
//----------------------------------------------------------------------------- |
346 |
//----------------------------------------------------------------------------- |
| 291 |
Ptr<Node> |
347 |
Ptr<Node> |