Trait fefix::codec::tagvalue::TagLookup[][src]

pub trait TagLookup {
    type Error: Debug;
    fn from_dict(dict: &Dictionary) -> Self;
fn lookup(&mut self, tag: u32) -> Result<BaseType, Self::Error>; }

This trait describes dynamic tag lookup logic.

In this context, "tag lookup" means to search in the dictionary the data type associated with a specific tag number. This may seem trivial at best, but it can actually be quite convoluted and require internal state (thus it is "dynamic" tag lookup). In particular, several fields affect the internal state of a TagLookup:

  • ApplVerID <1128>
  • ApplExtID <1156>
  • CstmApplVerID <1129>
  • DefaultApplVerID <1137>
  • DefaultApplExtID <1407>
  • DefaultCstmApplVerID <1408>

Each of these fields affects the internal state and thus changes how subsequent fields (and messages) are interpreted.

Naming conventions

Implementors of this trait should start with TagLookup.

Associated Types

Loading content...

Required methods

fn from_dict(dict: &Dictionary) -> Self[src]

fn lookup(&mut self, tag: u32) -> Result<BaseType, Self::Error>[src]

Returns the [BaseType] of the tag number tag.

Loading content...

Implementors

impl TagLookup for TagLookupPredetermined[src]

type Error = TagLookupPredeterminedError

Loading content...