TcpTest.ned 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. // package module_.lib;
  2. import inet.transportlayer.contract.ITCP;
  3. network TcpTestNet1
  4. {
  5. parameters:
  6. bool testing;
  7. string tcpType = default(firstAvailable("TCP", "TCP_lwIP", "TCP_NSC")); // tcp implementation (e.g. ~TCP, ~TCP_lwIP, ~TCP_NSC) or ~TCPSpoof
  8. submodules:
  9. cli_app: TcpTestClient {
  10. @display("p=95,95");
  11. }
  12. cli_tcp: <tcpType> like ITCP {
  13. @display("p=95,178");
  14. }
  15. srv_tcp: <tcpType> like ITCP {
  16. @display("p=302,178");
  17. }
  18. srv_app: TcpTestClient {
  19. @display("p=303,96");
  20. }
  21. tcptester: TCPScriptableTester {
  22. @display("p=198,178");
  23. }
  24. connections allowunconnected:
  25. cli_app.tcpOut --> cli_tcp.appIn++;
  26. cli_app.tcpIn <-- cli_tcp.appOut++;
  27. srv_app.tcpOut --> srv_tcp.appIn++;
  28. srv_app.tcpIn <-- srv_tcp.appOut++;
  29. cli_tcp.ipOut --> { delay = 1ms; } --> tcptester.in1;
  30. cli_tcp.ipIn <-- { delay = 1ms; } <-- tcptester.out1;
  31. tcptester.out2 --> { delay = 1ms; } --> srv_tcp.ipIn;
  32. tcptester.in2 <-- { delay = 1ms; } <-- srv_tcp.ipOut;
  33. }
  34. network TcpTestNet2
  35. {
  36. parameters:
  37. bool testing;
  38. string tcpType = default(firstAvailable("TCP", "TCP_lwIP", "TCP_NSC")); // tcp implementation (e.g. ~TCP, ~TCP_lwIP, ~TCP_NSC) or ~TCPSpoof
  39. submodules:
  40. cli_app: TcpTestClient {
  41. @display("p=95,95");
  42. }
  43. cli_tcp: <tcpType> like ITCP {
  44. @display("p=95,178");
  45. }
  46. srv_tcp: <tcpType> like ITCP {
  47. @display("p=302,178");
  48. }
  49. srv_app: TcpTestClient {
  50. @display("p=303,96");
  51. }
  52. tcptester: TCPRandomTester {
  53. @display("p=198,178");
  54. }
  55. connections allowunconnected:
  56. cli_app.tcpOut --> cli_tcp.appIn++;
  57. cli_app.tcpIn <-- cli_tcp.appOut++;
  58. srv_app.tcpOut --> srv_tcp.appIn++;
  59. srv_app.tcpIn <-- srv_tcp.appOut++;
  60. cli_tcp.ipOut --> tcptester.in1;
  61. cli_tcp.ipIn <-- tcptester.out1;
  62. tcptester.out2 --> { delay = 1ms; } --> srv_tcp.ipIn;
  63. tcptester.in2 <-- { delay = 1ms; } <-- srv_tcp.ipOut;
  64. }