Trait pidgeon_cli::service::modbus::span::SpanParser

source ·
pub(crate) trait SpanParser<TParsed: Span> {
    // Required methods
    fn parse<TIterator, TIntoIterator>(
        &self,
        data: TIntoIterator,
    ) -> Result<TParsed>
       where TIterator: DoubleEndedIterator<Item = u16>,
             TIntoIterator: IntoIterator<Item = u16, IntoIter = TIterator>;
    fn parse_with_timestamp<TIterator, TIntoIterator>(
        &self,
        data: TIntoIterator,
        timestamp: DateTime<Utc>,
    ) -> Result<TParsed>
       where TIterator: DoubleEndedIterator<Item = u16>,
             TIntoIterator: IntoIterator<Item = u16, IntoIter = TIterator>;
}

Required Methods§

source

fn parse<TIterator, TIntoIterator>( &self, data: TIntoIterator, ) -> Result<TParsed>
where TIterator: DoubleEndedIterator<Item = u16>, TIntoIterator: IntoIterator<Item = u16, IntoIter = TIterator>,

source

fn parse_with_timestamp<TIterator, TIntoIterator>( &self, data: TIntoIterator, timestamp: DateTime<Utc>, ) -> Result<TParsed>
where TIterator: DoubleEndedIterator<Item = u16>, TIntoIterator: IntoIterator<Item = u16, IntoIter = TIterator>,

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<TLeftSpan: Span, TLeftSpanParser: SpanParser<TLeftSpan>, TRightSpan: Span, TRightSpanParser: SpanParser<TRightSpan>> SpanParser<Either<TLeftSpan, TRightSpan>> for Either<TLeftSpanParser, TRightSpanParser>

source§

fn parse<TIterator, TIntoIterator>( &self, data: TIntoIterator, ) -> Result<Either<TLeftSpan, TRightSpan>>
where TIterator: DoubleEndedIterator<Item = u16>, TIntoIterator: IntoIterator<Item = u16, IntoIter = TIterator>,

source§

fn parse_with_timestamp<TIterator, TIntoIterator>( &self, data: TIntoIterator, timestamp: DateTime<Utc>, ) -> Result<Either<TLeftSpan, TRightSpan>>
where TIterator: DoubleEndedIterator<Item = u16>, TIntoIterator: IntoIterator<Item = u16, IntoIter = TIterator>,

Implementors§