Throughput.ned 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. //
  2. // Copyright (C) 2005 Andras Varga
  3. //
  4. // This program is free software; you can redistribute it and/or
  5. // modify it under the terms of the GNU General Public License
  6. // as published by the Free Software Foundation; either version 2
  7. // of the License, or (at your option) any later version.
  8. //
  9. // This program is distributed in the hope that it will be useful,
  10. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. // GNU General Public License for more details.
  13. //
  14. // You should have received a copy of the GNU General Public License
  15. // along with this program; if not, write to the Free Software
  16. // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  17. //
  18. package inet.examples.wireless.testnewmac;
  19. import inet.applications.ethernet.EtherAppCli;
  20. import inet.common.queue.Sink;
  21. import inet.linklayer.ieee80211.Ieee80211Nic;
  22. import inet.mobility.single.CircleMobility;
  23. import inet.mobility.static.StationaryMobility;
  24. import inet.physicallayer.ieee80211.packetlevel.Ieee80211ScalarRadioMedium;
  25. module ThroughputClient
  26. {
  27. parameters:
  28. @display("i=device/wifilaptop");
  29. @networkNode();
  30. *.interfaceTableModule = "";
  31. gates:
  32. input radioIn @directIn;
  33. submodules:
  34. cli: EtherAppCli {
  35. parameters:
  36. registerSAP = false;
  37. @display("b=40,24;p=180,60,col");
  38. }
  39. wlan: Ieee80211Nic {
  40. parameters:
  41. @display("p=112,134;q=queue");
  42. mgmtType = "Ieee80211MgmtAdhoc";
  43. macType = "Ieee80211CompatibleMac";
  44. }
  45. mobility: CircleMobility {
  46. parameters:
  47. @display("p=50,141");
  48. }
  49. connections allowunconnected:
  50. wlan.radioIn <-- radioIn;
  51. cli.out --> wlan.upperLayerIn;
  52. }
  53. module ThroughputServer
  54. {
  55. parameters:
  56. @display("i=device/wifilaptop");
  57. @networkNode();
  58. *.interfaceTableModule = "";
  59. gates:
  60. input radioIn @directIn;
  61. submodules:
  62. sink: Sink {
  63. parameters:
  64. @display("p=210,68,col");
  65. }
  66. wlan: Ieee80211Nic {
  67. parameters:
  68. @display("p=120,158;q=queue");
  69. mgmtType = "Ieee80211MgmtAdhoc";
  70. }
  71. mobility: StationaryMobility {
  72. parameters:
  73. @display("p=50,141");
  74. }
  75. connections allowunconnected:
  76. wlan.radioIn <-- radioIn;
  77. sink.in++ <-- wlan.upperLayerOut;
  78. }
  79. network Throughput
  80. {
  81. parameters:
  82. int numCli;
  83. @display("b=297,203");
  84. submodules:
  85. cliHost[numCli]: ThroughputClient {
  86. parameters:
  87. @display("r=,,#707070");
  88. }
  89. srvHost: ThroughputServer {
  90. parameters:
  91. @display("p=350,350;r=,,#707070");
  92. }
  93. radioMedium: Ieee80211ScalarRadioMedium {
  94. parameters:
  95. @display("p=61,46");
  96. }
  97. }