NED File tutorials/protocol/Network4.ned
| Name | Type | Description |
|---|---|---|
| ClientHost4 | compound module | (no description) |
| ServerHost4 | compound module | (no description) |
| Network4 | network | (no description) |
Source code
// // Copyright (C) 2020 OpenSim Ltd. // // SPDX-License-Identifier: LGPL-3.0-or-later // package inet.tutorials.protocol; import inet.protocolelement.checksum.FcsHeaderChecker; import inet.protocolelement.checksum.FcsHeaderInserter; import inet.protocolelement.transceiver.PacketReceiver; import inet.protocolelement.transceiver.PacketTransmitter; import inet.queueing.queue.PacketQueue; import inet.queueing.server.InstantServer; import inet.queueing.sink.PassivePacketSink; import inet.queueing.source.ActivePacketSource; module ClientHost4 { parameters: @display("i=device/pc"); gates: output out; submodules: app: ActivePacketSource { @display("p=150,100"); } queue: PacketQueue { @display("p=150,200"); } server: InstantServer { @display("p=150,300"); } fcsInserter: FcsHeaderInserter { @display("p=150,400"); } transmitter: PacketTransmitter { @display("p=150,500"); } connections: app.out --> queue.in; queue.out --> server.in; server.out --> fcsInserter.in; fcsInserter.out --> transmitter.in; transmitter.out --> out; } module ServerHost4 { parameters: @display("i=device/pc"); gates: input in; submodules: app: PassivePacketSink { @display("p=150,100"); } fcsChecker: FcsHeaderChecker { @display("p=150,200"); } receiver: PacketReceiver { @display("p=150,300"); } connections: in --> receiver.in; receiver.out --> fcsChecker.in; fcsChecker.out --> app.in; } network Network4 { submodules: client: ClientHost4 { @display("p=100,100"); } server: ServerHost4 { @display("p=200,100"); } connections allowunconnected: client.out --> { delay = 1us; ber = 1E-5; } --> server.in; }