NED File src/inet/node/base/TransportLayerNodeBase.ned
Name | Type | Description |
---|---|---|
TransportLayerNodeBase | compound module | (no description) |
Source code
// // Copyright (C) 2020 OpenSim Ltd. // // SPDX-License-Identifier: LGPL-3.0-or-later // package inet.node.base; import inet.common.MessageDispatcher; import inet.transportlayer.contract.ISctp; import inet.transportlayer.contract.ITcp; import inet.transportlayer.contract.IUdp; module TransportLayerNodeBase extends NetworkLayerNodeBase { parameters: bool hasUdp = default(firstAvailableOrEmpty("Udp") != ""); bool hasTcp = default(firstAvailableOrEmpty("Tcp", "TcpLwip", "TcpNsc") != ""); bool hasSctp = default(false); @figure[transportLayer](type=rectangle; pos=250,158; size=1000,134; fillColor=#ff0000; lineColor=#808080; cornerRadius=5; fillOpacity=0.1); @figure[transportLayer.title](type=text; pos=1245,163; anchor=ne; text="transport layer"); submodules: udp: <default(firstAvailableOrEmpty("Udp"))> like IUdp if hasUdp { @display("p=375,225"); } tcp: <default(firstAvailableOrEmpty("Tcp", "TcpLwip", "TcpNsc"))> like ITcp if hasTcp { @display("p=525,225"); } sctp: <default(firstAvailableOrEmpty("Sctp"))> like ISctp if hasSctp { @display("p=675,225"); } tn: MessageDispatcher { @display("p=750,300;b=1000,5,,,,1"); } connections allowunconnected: udp.ipOut --> tn.in++ if hasUdp; udp.ipIn <-- tn.out++ if hasUdp; tcp.ipOut --> tn.in++ if hasTcp; tcp.ipIn <-- tn.out++ if hasTcp; sctp.ipOut --> tn.in++ if hasSctp; tn.out++ --> sctp.ipIn if hasSctp; tn.out++ --> ipv4.transportIn if hasIpv4; tn.in++ <-- ipv4.transportOut if hasIpv4; tn.out++ --> ipv6.transportIn if hasIpv6; tn.in++ <-- ipv6.transportOut if hasIpv6; tn.out++ --> generic.transportIn if hasGn; tn.in++ <-- generic.transportOut if hasGn; tn.out++ --> nl.in++; tn.in++ <-- nl.out++; }