View | Details | Raw Unified | Return to bug 559
Collapse All | Expand All

(-)a/src/internet-stack/tcp-test.cc (+56 lines)
 Lines 95-100    Link Here 
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*);
 Lines 139-144    Link Here 
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
 Lines 286-291    Link Here 
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>

Return to bug 559