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.
Parameters¶
lastFrameHandoffTimestamp Int64
lastFrameTransmitTimestamp Int64
Properties¶
IsoTpTransmitStamps.LastFrameHandoffTimestamp Property¶
Just before the PDU's last frame was handed to the driver.
Property Value¶
IsoTpTransmitStamps.LastFrameTransmitTimestamp Property¶
No later than the driver accepted the PDU's last frame.
Property Value¶
Methods¶
IsoTpTransmitStamps.Equals(object) Method¶
Indicates whether this instance and a specified object are equal.
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.
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¶
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