3.4 MESSAGE

Messages are used for the communication between components on the same TNC communication layer. These messages and their format are specified by so called bindings for the interfaces IF-M, IF-TNCCS and IF-T. The module MESSAGE depicted in Fig. 4 contains an object-oriented implementation of the various messages specified by the currently supported bindings (cf. section 1). Therefor, every message consists of a message header (Header) and a message content value (Value). The modules IM, TNCCS and TRANSPORT use the module to encode object-oriented messages for the transmission and decode messages into their object-oriented representation after reception. For this purpose, the module provides so called writers, which are used to encode a message into its format for transmission as defined by the TNC-WG as well as so called readers, which are used to decode a message after reception in its object-oriented representation for further processing. Furthermore, the modules IM, TNCCS and TRANSPORT can use Message Factories provided by the module MESSAGE, which aid in the creation of a new message. To control the creation of messages (e.g. when a message is created with a factory or a message is decoded by a reader), the module does contain so called Message Builder. A Message Builder validates the parameters, which are used for the creation of an object-oriented message against rules specified by the Validation part. A builder creates and returns a message only if all parameters are satisfying. A message is immutable after its creation.


PIC

Figure 4: Structure and relations of the module MESSAGE