DavidBennett feels that once a packet has been sent, the componentís responsibility is at an end. The packet now belongs to the network, and if it cannot be delivered itís up to the network to decide what to do with it. Choices include: discard silently; log; place in suspense; pass to designated handler component.
The aim is to avoid having to write error handler code in every component.
I am starting to agree with him, but feel there are two cases: a) where the output port is optional, i.e. only functional where the port is connected - otherwise the packet is to be discarded ("optional"); and b) where the output port is intended for use by packets which need to be sent onwards ("mandatory").
In the current version of JavaFBP (2.1) output ports must be connected, so output ports not needed for a given application must be connected to a Discard component.
Feedback would be appreciated on this topic.