A departure from CCSDS 503.0-B-2 the TDM writer emitted under a
Sidereon.CCSDS.TDM.WritePolicy.
Each names what makes the written text non-conforming, in the vocabulary
Sidereon.CCSDS.TDM.Warning uses for the same departure on the way in; a
reader under the matching Sidereon.CCSDS.TDM.Policy forgives exactly these.
tag decides which of the other fields are set; every other field is nil:
:non_printable_character-keyword,character:line_too_long-keyword,length:missing_keyword-keyword,segment(nilfor the header):empty_data_section-segment:records_out_of_order-segment,keyword,epoch:duplicate_record-segment,keyword,epoch:repeated_keyword-keyword,section:keyword_out_of_order-keyword,section; in the:datasection, a comment written after a record.:unterminated_final_line- no field: the last line has no terminator.:unhandled- a departure this binding predates. Onlymessageis set, the core's own text.
segment is one-based and section is :header, :metadata or :data.
message is the core's text for the departure.
Summary
Types
@type t() :: %Sidereon.CCSDS.TDM.Departure{ character: String.t() | nil, epoch: String.t() | nil, keyword: String.t() | nil, length: non_neg_integer() | nil, message: String.t(), section: :header | :metadata | :data | String.t() | nil, segment: pos_integer() | nil, tag: tag() }
@type tag() ::
:non_printable_character
| :line_too_long
| :missing_keyword
| :empty_data_section
| :records_out_of_order
| :duplicate_record
| :repeated_keyword
| :keyword_out_of_order
| :unterminated_final_line
| :unhandled