Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/CanKit.Pro.J1939/IJ1939Node.cs
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,17 @@ public interface IJ1939Node : IDisposable, IAsyncDisposable
/// per SAE J1939-81 §4.4.3.4 and throw
/// <see cref="J1939CannotClaimException"/> (SRS FR-J1939-004).</description></item>
/// </list>
/// The Cannot Claim, and an arbitrary-address node's next claim after losing, go out after
/// the pseudo-random 0..153 ms backoff of SAE J1939-81 §4.4.4.3 -- the low byte of the
/// NAME's bytes summed, times 0.6 ms -- so two nodes colliding on an address do not answer in
/// lockstep (#58). The task faults after that Cannot Claim has gone out, in the order step
/// 3 gives, so disposing the node on the exception cannot suppress the frame; a further
/// claim started before it drops the Cannot Claim and faults this one at once.
/// </summary>
/// <exception cref="J1939CannotClaimException">The preferred address was lost to a
/// higher-priority NAME and no fallback was available.</exception>
/// <exception cref="InvalidOperationException">A claim is still in arbitration: it is
/// not silently replaced -- await it, or cancel it, before claiming again (#58).</exception>
Task ClaimAddressAsync(byte preferredAddress, CancellationToken cancellationToken = default);

/// <summary>
Expand Down
Loading
Loading