RateControlTest.ned 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  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.ratecontrol;
  19. import inet.applications.ethernet.EtherAppCli;
  20. import inet.common.queue.Sink;
  21. import inet.environment.common.PhysicalEnvironment;
  22. import inet.linklayer.ieee80211.Ieee80211Nic;
  23. import inet.mobility.single.RectangleMobility;
  24. import inet.physicallayer.ieee80211.packetlevel.Ieee80211ScalarRadioMedium;
  25. module SinkClient
  26. {
  27. parameters:
  28. @networkNode();
  29. @labels(node);
  30. @display("i=device/cellphone");
  31. *.interfaceTableModule = default("");
  32. gates:
  33. input radioIn @directIn;
  34. submodules:
  35. sink: Sink {
  36. parameters:
  37. @display("p=169,124");
  38. }
  39. wlan: Ieee80211Nic {
  40. parameters:
  41. @display("p=89,225;q=queue");
  42. mgmtType = default("Ieee80211MgmtAdhoc");
  43. }
  44. mobility: RectangleMobility {
  45. parameters:
  46. @display("p=71,121");
  47. }
  48. connections allowunconnected:
  49. radioIn --> { @display("m=s"); } --> wlan.radioIn;
  50. wlan.upperLayerOut --> sink.in++;
  51. }
  52. module Client
  53. {
  54. parameters:
  55. @display("i=device/wifilaptop");
  56. @networkNode();
  57. *.interfaceTableModule = "";
  58. gates:
  59. input radioIn @directIn;
  60. submodules:
  61. cli: EtherAppCli {
  62. parameters:
  63. registerSAP = false;
  64. @display("b=40,24;p=180,60,col");
  65. }
  66. wlan: Ieee80211Nic {
  67. parameters:
  68. @display("p=112,134;q=queue");
  69. mgmtType = default("Ieee80211MgmtAdhoc");
  70. }
  71. mobility: RectangleMobility {
  72. parameters:
  73. @display("p=50,141");
  74. }
  75. connections allowunconnected:
  76. wlan.radioIn <-- radioIn;
  77. cli.out --> wlan.upperLayerIn;
  78. }
  79. network RateControlTest
  80. {
  81. parameters:
  82. int numCli;
  83. @display("b=297,203;bgb=1300,460");
  84. submodules:
  85. cliHost[numCli]: Client {
  86. parameters:
  87. @display("r=,,#707070");
  88. }
  89. sinkClient: SinkClient {
  90. parameters:
  91. @display("p=200,200;r=,,#707070");
  92. }
  93. physicalEnvironment: PhysicalEnvironment {
  94. parameters:
  95. @display("p=50,50");
  96. }
  97. radioMedium: Ieee80211ScalarRadioMedium {
  98. parameters:
  99. @display("p=61,46");
  100. }
  101. }