pub struct RouterPort<T: TransportPort = AnyTransport> {
pub transport: T,
pub network_number: u16,
}Expand description
A router port: a transport bound to a specific BACnet network number.
BACnetRouter::start calls
TransportPort::prepare_for_routing on each port’s transport before it
starts it, so an MS/TP port takes and sends extended frames whatever its
MstpConfig says: Clause 9.3 requires them of a routing node. Once the
transport has started, it reads TransportPort::max_npdu, and answers
an NPDU too long for the port with reject reason 4 (#1665). It follows
the limit’s changes after that, for a transport that publishes them
(TransportPort::max_npdu_changes, #1696).
T defaults to AnyTransport, so RouterPort alone names a port of a
router that mixes link types; RouterPort<BipTransport> and the like
name one of a router whose ports share a concrete transport.
Fields§
§transport: TThe transport for this port.
network_number: u16The network number assigned to this port: 1 to 65534.
BACnetRouter::start refuses 0, which is no network, and 0xFFFF,
the global broadcast DNET, which can’t be the SNET the router puts
in what it relays from the port (Clause 6.2.2.1).