Skip to content

IsoTpTransmitStamps Struct

The two host-monotonic instants (GetTimestamp) that bracket the driver call for a PDU's last frame, for a caller whose response deadline is measured against the bus rather than against its own scheduling. Zero means not reported.

public readonly struct IsoTpTransmitStamps : System.IEquatable<CanKit.Pro.IsoTp.IsoTpTransmitStamps>

Implements IEquatable<IsoTpTransmitStamps>

Remarks

LastFrameTransmitTimestamp is where a response deadline starts: "no later than the driver accepted the last frame" (#112). LastFrameHandoffTimestamp is taken just before that call and bounds what can be a response at all: a peer answers only a complete request, so nothing that reached the wire before its last frame was handed over can answer this PDU. The two are not interchangeable -- the acceptance instant is taken after a synchronous delivery or a completion callback, and a fast peer's answer can be stamped by the demux before it (#146), so a stale-response cutoff keyed on it rejects genuine responses; a cutoff taken by the caller before it enters the channel, or at the first frame's handoff, leaves the channel's own transmission as a window in which an earlier request's late response passes.

Constructors

IsoTpTransmitStamps(long, long) Constructor

Creates the pair; the channel is the intended caller.

public IsoTpTransmitStamps(long lastFrameHandoffTimestamp, long lastFrameTransmitTimestamp);

Parameters

lastFrameHandoffTimestamp Int64

lastFrameTransmitTimestamp Int64

Properties

IsoTpTransmitStamps.LastFrameHandoffTimestamp Property

Just before the PDU's last frame was handed to the driver.

public long LastFrameHandoffTimestamp { get; }

Property Value

Int64

IsoTpTransmitStamps.LastFrameTransmitTimestamp Property

No later than the driver accepted the PDU's last frame.

public long LastFrameTransmitTimestamp { get; }

Property Value

Int64

Methods

IsoTpTransmitStamps.Equals(object) Method

Indicates whether this instance and a specified object are equal.

public override bool Equals(object? obj);

Parameters

obj Object

The object to compare with the current instance.

Returns

Boolean
true if obj and this instance are the same type and represent the same value; otherwise, false.

IsoTpTransmitStamps.GetHashCode() Method

Returns the hash code for this instance.

public override int GetHashCode();

Returns

Int32
A 32-bit signed integer that is the hash code for this instance.

Operators

IsoTpTransmitStamps.operator ==(IsoTpTransmitStamps, IsoTpTransmitStamps) Operator

Value equality.

public static bool operator ==(CanKit.Pro.IsoTp.IsoTpTransmitStamps left, CanKit.Pro.IsoTp.IsoTpTransmitStamps right);

Parameters

left IsoTpTransmitStamps

right IsoTpTransmitStamps

Returns

Boolean

IsoTpTransmitStamps.operator !=(IsoTpTransmitStamps, IsoTpTransmitStamps) Operator

Value inequality.

public static bool operator !=(CanKit.Pro.IsoTp.IsoTpTransmitStamps left, CanKit.Pro.IsoTp.IsoTpTransmitStamps right);

Parameters

left IsoTpTransmitStamps

right IsoTpTransmitStamps

Returns

Boolean