Streams

A Stream represents a sequence of raw data bytes without length information.

Variants

Streams may appear in these variants:

  • Unstructured Stream: A Stream without structural information.
  • Simple Stream: A Stream that contains only Stream parameters, possibly repeated.
  • simple Stream
  • Composed Stream: A Stream with one or more Stream Cases.
  • A composed Stream is closely related to the notion of a Variant Record (Disjoint Union) in common programming languages.

Restrictions

Stream length

The length of a Stream is undefined if it cannot be determined based on information provided in the MOST FBlock Library or MOST Function Catalog. For example, this is the case for Unstructured Streams or Streams with parameter repetition. It is recommended, not to use Simple Streams, Unstructured Streams, cyclically recurring Stream parameters, and Stream Signals.

Position of a Stream in a message

If a message contains a data type Stream with undefined length and the Stream is not embedded in a Short Stream, this Stream shall be at the end of the message. If a Short Stream contains a data type Stream with undefined length, this Stream shall be at the end of the Short Stream.

When the Stream with undefined length appears at the end of the message, the Stream length is based on the message length. When a Stream is embedded in a Short Stream, the length of the Stream can be determined by using the length information of the Short Stream.