PoolMemberHeartbeatDto
Namespace: Meshmakers.Octo.Communication.Contracts.DataTransferObjects
Liveness of a pool member and of the lease it currently holds (AB#4924, concept §6).
public record PoolMemberHeartbeatDto : IEquatable<PoolMemberHeartbeatDto>
Inheritance Object → PoolMemberHeartbeatDto
Implements IEquatable<PoolMemberHeartbeatDto>
Remarks:
A SignalR connection can stay up while the process behind it is wedged, and concept §6's "release never arrives" row is exactly that case. The heartbeat is what lets the controller tell a long-running work item from a dead one without waiting for the transport to notice.
Properties
MemberId
The member reporting, as accepted at registration.
public string MemberId { get; set; }
Property Value
ActiveLeaseId
The lease the member believes it holds, or empty when it is idle. A heartbeat naming a lease the controller has already expired is the signal that the two disagree.
public string ActiveLeaseId { get; set; }
Property Value
SampledAtUtc
When the member sampled this report (UTC).
public DateTime SampledAtUtc { get; set; }
Property Value
Constructors
PoolMemberHeartbeatDto()
public PoolMemberHeartbeatDto()