Skip to content
Start free evaluation

PDComm.GemSpoolState

Struct

Represents the counters, policy and flags of the equipment spool.

public readonly record struct GemSpoolState

Counters and times are application values, not SEMI status variables: the times are the now values that the application passed. The counters restart from zero when spooling activates with an empty spool.

Parameters

NameDescription
MessageCountThe number of stored entries.
BodyBytesThe total encoded body size, in bytes, of the stored entries.
CatalogCountThe number of catalog entries.
SelectionCountThe number of stream selections.
ReceivedThe number of selected messages offered to the spool, stored or discarded.
StoredThe number of messages stored.
DiscardedThe number of messages discarded because the spool was full, including old entries overwritten by GemSpoolOverflow.OverwriteOldest.
TransmittedThe number of entries removed after a successful delivery.
NextIdThe entry ID that the next stored message receives.
StartTimeThe time spooling activated or stored its first entry; valid when StartTimePresent is true.
FullTimeThe time the spool first became full during the current activation; valid when FullTimePresent is true.
OverflowThe overflow policy.
MaxTransmitThe maximum number of entries per transmission run, or 0 for no limit.
TransmittedInRunThe number of entries removed during the current transmission run.
Enabledtrue when the local policy enables spooling.
Activetrue while spooling is active. It ends when the spool is emptied by delivery or purge, or when spooling is disabled while the spool is empty.
Transmittingtrue while a transmission run accepted with S6F23 is in progress.
DeliveryPendingtrue while an entry is in flight or its successful delivery awaits removal.
DequeuePendingtrue when a delivery succeeded but removing the entry failed; call GemEquipment.RetrySpoolDequeue.
Persistenttrue when the spool is backed by a snapshot file.
Synchronizedtrue when the last GemEquipment.SyncSpool still matches the current communication and selection state, so captures, replies and deliveries are allowed.
Connectedtrue when the last synchronization saw the transport selected and GEM communicating.
StartTimePresenttrue when StartTime is set.
FullTimePresenttrue when FullTime is set.

Members

GemSpoolState

Constructor

Represents the counters, policy and flags of the equipment spool.

public GemSpoolState(nuint MessageCount, nuint BodyBytes, nuint CatalogCount, nuint SelectionCount, ulong Received, ulong Stored, ulong Discarded, ulong Transmitted, ulong NextId, ulong StartTime, ulong FullTime, GemSpoolOverflow Overflow, uint MaxTransmit, uint TransmittedInRun, bool Enabled, bool Active, bool Transmitting, bool DeliveryPending, bool DequeuePending, bool Persistent, bool Synchronized, bool Connected, bool StartTimePresent, bool FullTimePresent)

Counters and times are application values, not SEMI status variables: the times are the now values that the application passed. The counters restart from zero when spooling activates with an empty spool.

Parameters

NameDescription
MessageCountThe number of stored entries.
BodyBytesThe total encoded body size, in bytes, of the stored entries.
CatalogCountThe number of catalog entries.
SelectionCountThe number of stream selections.
ReceivedThe number of selected messages offered to the spool, stored or discarded.
StoredThe number of messages stored.
DiscardedThe number of messages discarded because the spool was full, including old entries overwritten by GemSpoolOverflow.OverwriteOldest.
TransmittedThe number of entries removed after a successful delivery.
NextIdThe entry ID that the next stored message receives.
StartTimeThe time spooling activated or stored its first entry; valid when StartTimePresent is true.
FullTimeThe time the spool first became full during the current activation; valid when FullTimePresent is true.
OverflowThe overflow policy.
MaxTransmitThe maximum number of entries per transmission run, or 0 for no limit.
TransmittedInRunThe number of entries removed during the current transmission run.
Enabledtrue when the local policy enables spooling.
Activetrue while spooling is active. It ends when the spool is emptied by delivery or purge, or when spooling is disabled while the spool is empty.
Transmittingtrue while a transmission run accepted with S6F23 is in progress.
DeliveryPendingtrue while an entry is in flight or its successful delivery awaits removal.
DequeuePendingtrue when a delivery succeeded but removing the entry failed; call GemEquipment.RetrySpoolDequeue.
Persistenttrue when the spool is backed by a snapshot file.
Synchronizedtrue when the last GemEquipment.SyncSpool still matches the current communication and selection state, so captures, replies and deliveries are allowed.
Connectedtrue when the last synchronization saw the transport selected and GEM communicating.
StartTimePresenttrue when StartTime is set.
FullTimePresenttrue when FullTime is set.

Active

Property

true while spooling is active. It ends when the spool is emptied by delivery or purge, or when spooling is disabled while the spool is empty.

public bool Active { get; init; }

BodyBytes

Property

The total encoded body size, in bytes, of the stored entries.

public nuint BodyBytes { get; init; }

CatalogCount

Property

The number of catalog entries.

public nuint CatalogCount { get; init; }

Connected

Property

true when the last synchronization saw the transport selected and GEM communicating.

public bool Connected { get; init; }

DeliveryPending

Property

true while an entry is in flight or its successful delivery awaits removal.

public bool DeliveryPending { get; init; }

DequeuePending

Property

true when a delivery succeeded but removing the entry failed; call GemEquipment.RetrySpoolDequeue.

public bool DequeuePending { get; init; }

Discarded

Property

The number of messages discarded because the spool was full, including old entries overwritten by GemSpoolOverflow.OverwriteOldest.

public ulong Discarded { get; init; }

Enabled

Property

true when the local policy enables spooling.

public bool Enabled { get; init; }

FullTime

Property

The time the spool first became full during the current activation; valid when FullTimePresent is true.

public ulong FullTime { get; init; }

FullTimePresent

Property

true when FullTime is set.

public bool FullTimePresent { get; init; }

MaxTransmit

Property

The maximum number of entries per transmission run, or 0 for no limit.

public uint MaxTransmit { get; init; }

MessageCount

Property

The number of stored entries.

public nuint MessageCount { get; init; }

NextId

Property

The entry ID that the next stored message receives.

public ulong NextId { get; init; }

Overflow

Property

The overflow policy.

public GemSpoolOverflow Overflow { get; init; }

Persistent

Property

true when the spool is backed by a snapshot file.

public bool Persistent { get; init; }

Received

Property

The number of selected messages offered to the spool, stored or discarded.

public ulong Received { get; init; }

SelectionCount

Property

The number of stream selections.

public nuint SelectionCount { get; init; }

StartTime

Property

The time spooling activated or stored its first entry; valid when StartTimePresent is true.

public ulong StartTime { get; init; }

StartTimePresent

Property

true when StartTime is set.

public bool StartTimePresent { get; init; }

Stored

Property

The number of messages stored.

public ulong Stored { get; init; }

Synchronized

Property

true when the last GemEquipment.SyncSpool still matches the current communication and selection state, so captures, replies and deliveries are allowed.

public bool Synchronized { get; init; }

Transmitted

Property

The number of entries removed after a successful delivery.

public ulong Transmitted { get; init; }

TransmittedInRun

Property

The number of entries removed during the current transmission run.

public uint TransmittedInRun { get; init; }

Transmitting

Property

true while a transmission run accepted with S6F23 is in progress.

public bool Transmitting { get; init; }