Skip to content

IsoTpReceptionInProgress Class

A multi-frame reception that has begun and not completed: the First Frame's arrival, the length it announced, and the data bytes it carried (see GetReceptionsInProgress()).

public sealed class IsoTpReceptionInProgress

Inheritance Object → IsoTpReceptionInProgress

Remarks

Published when the First Frame is read off the bus, before the channel's protocol actor has accepted it — so a caller whose deadline fires while the actor is still behind sees the frame at its arrival, not at its processing. Several can be pending when the actor is behind: a PDU whose frames all sit in the mailbox is still in progress when the next First Frame is read. The actor withdraws a record on its outcome — the PDU or the abort in the inbox — or when it refuses the frame (a short First Frame, or one announcing more than the channel accepts), so a record is not a promise that the PDU will be delivered; a caller waiting on one re-checks rather than waiting unboundedly.

Constructors

IsoTpReceptionInProgress(long, int, ReadOnlyMemory<byte>) Constructor

Creates a record; the channel is the only intended caller.

public IsoTpReceptionInProgress(long firstFrameArrivalTimestamp, int announcedLength, System.ReadOnlyMemory<byte> firstFrameData);

Parameters

firstFrameArrivalTimestamp Int64

announcedLength Int32

firstFrameData ReadOnlyMemory<Byte>

Properties

IsoTpReceptionInProgress.AnnouncedLength Property

The PDU length the First Frame announced.

public int AnnouncedLength { get; }

Property Value

Int32

IsoTpReceptionInProgress.FirstFrameArrivalTimestamp Property

When the First Frame arrived, as a GetTimestamp reading on the same clock as ArrivalTimestamp.

public long FirstFrameArrivalTimestamp { get; }

Property Value

Int64

IsoTpReceptionInProgress.FirstFrameData Property

The PDU's leading bytes as the First Frame carried them — enough for an application layer to tell whose response this is (a UDS response SID is the first byte).

public System.ReadOnlyMemory<byte> FirstFrameData { get; }

Property Value

ReadOnlyMemory<Byte>