The Node ID (NID) is used a globally unique address.
Should a common Message Type ID contain bit-coded fields for e.g. presence of Destination Node ID, presence of Event ID? There are arguments in both directions.
Having a bit-coded value (bit that says Destination Node ID present) is the same as a bit saying "global message vs addressed"; one could chose to document it either way. Having this bit saves space in the most common messages, which are the global P/C Event Reports.
The alternative is a global address value. One could _always_ have the DID present, and have a specific value (e.g. 0) that indicates the message is addressed to all nodes. This may result in simpler message deformating code, as the remaining fields are always in the same byte locations.
The common message can be reformatted on any particular wire protocol, so if one form or the other works better e.g. on a CAN link, the local format can use the other form.
Similarly, having a bit that indicates an Event ID is present can help parse messages faster, but it's truely optional in any particular local format.
This is SVN $Revision: 721 $