Skip to main content

Module sample_selector

Module sample_selector 

Source
Expand description

DDS-WEB Sample Selector BNF Parser — Spec §7.4.8.

Implementiert §7.4.8 voll.

Spec-Quelle: OMG DDS-WEB 1.0 §7.4.8 (S. 51-53) — DataReader::read mit SampleSelector-BNF-Grammar:

SampleSelector  ::= FilterExpression ( ',' MetadataExpression )?
FilterExpression ::= Term ( ('AND' | 'OR') Term )*
Term            ::= Atom | '(' FilterExpression ')'
Atom            ::= FieldRef CompOp Literal
MetadataExpression ::= 'sample_state=' SampleState
                     | 'view_state='   ViewState
                     | 'instance_state='InstanceState

Der Parser liefert ein AST SampleSelector, das vom Caller in eine DDS [QueryCondition] uebersetzt werden kann (crates/dcps/src/query_condition.rs).

Structs§

SampleSelector
Top-Level-AST der Sample-Selector-Expression.

Enums§

BoolOp
Boolescher Operator.
CompareOp
Vergleichs-Operator (Spec §7.4.8).
FilterExpression
Filter-Expression — boolescher Ausdruck ueber Field-Referenzen.
InstanceStateMatch
Spec §7.4.8 — Instance-State-Match.
Literal
Literal-Wert auf der rechten Seite eines Vergleichs.
MetadataExpression
Metadata-Expression aus Spec §7.4.8.
ParseError
Parser-Fehler.
SampleStateMatch
Spec §7.4.8 — Sample-State-Match (DDS DCPS §2.2.2.5).
ViewStateMatch
Spec §7.4.8 — View-State-Match.

Functions§

parse_sample_selector
Parst einen Sample-Selector-String laut Spec §7.4.8 BNF.