TCPMsgBasedSendQueue_2.test 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. %description:
  2. Test TCPMsgBasedSendQueue::enqueueAppData()
  3. Enqueueing 4GB, but queue capacity only 2GiB.
  4. %includes:
  5. #include "TCPQueueTesterFunctions.h"
  6. %global:
  7. using namespace ::inet::tcp;
  8. %activity:
  9. TCPMsgBasedSendQueue sendQueue;
  10. TCPMsgBasedSendQueue *sq = &sendQueue;
  11. sq->init(0);
  12. EV << sq->info() <<"\n";
  13. enqueue(sq, "msg1", 500000000); // 0.. 500000000
  14. enqueue(sq, "msg2", 500000000); // 500000000..1000000000
  15. enqueue(sq, "msg3", 500000000); // 1000000000..1500000000
  16. enqueue(sq, "msg4", 500000000); // 1500000000..2000000000
  17. tryenqueue(sq, "msg5", 500000000); // 2000000000..2500000000
  18. tryenqueue(sq, "msg6", 500000000); // 2500000000..3000000000
  19. tryenqueue(sq, "msg7", 500000000); // 3000000000..3500000000
  20. tryenqueue(sq, "msg8", 500000000); // 3500000000..4000000000
  21. EV << ".\n";
  22. %contains: stdout
  23. [0..0), 0 packets
  24. SQ:enqueue("msg1", 500000000): --> [0..500000000), 1 packets
  25. SQ:enqueue("msg2", 500000000): --> [0..1000000000), 2 packets
  26. SQ:enqueue("msg3", 500000000): --> [0..1500000000), 3 packets
  27. SQ:enqueue("msg4", 500000000): --> [0..2000000000), 4 packets
  28. SQ:enqueue("msg5", 500000000): --> Error: Send queue is full --> [0..2500000000), 4 packets
  29. SQ:enqueue("msg6", 500000000): --> Error: Send queue is full --> [0..3000000000), 4 packets
  30. SQ:enqueue("msg7", 500000000): --> Error: Send queue is full --> [0..3500000000), 4 packets
  31. SQ:enqueue("msg8", 500000000): --> Error: Send queue is full --> [0..4000000000), 4 packets
  32. .