Skip to main content

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 ObjectPoolMemberHeartbeatDto
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

String

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

String

SampledAtUtc

When the member sampled this report (UTC).

public DateTime SampledAtUtc { get; set; }

Property Value

DateTime

Constructors

PoolMemberHeartbeatDto()

public PoolMemberHeartbeatDto()