Skip to content
Start free evaluation

PDComm.GemProgramInfo

Struct

Represents the state of a received stream 7 process program request or reply.

public readonly record struct GemProgramInfo

A reply exposes only wire facts: the host cannot infer from it whether the peer stored the program or how durably.

Parameters

NameDescription
RequestKindThe transaction, from GemRequestKind.ProgramGrant to GemRequestKind.ProgramDirectory.
DeclaredLengthThe body length (LENGTH) declared by a received S7F1 request; otherwise 0.
DurabilityHow durably a received S7F3 or S7F17 request was installed by GemEquipment.RespondProgram; GemProgramDurability.None for replies and before a change is installed.
PersistenceStatusThe numeric PdcommStatus of the persistence failure that left the installation unconfirmed; otherwise 0.
IdCountThe number of PPIDs: 1 for S7F1, S7F3 and S7F5 requests, the selection size of an S7F17 request (0 means all), 0 for S7F19; 1 for an S7F6 reply with a program and 0 for an unknown program; the directory length of an S7F20 reply; 0 for acknowledgement replies.
IsRequesttrue for a received primary; false for a reply.
RespondedWhether the reply to a received primary was sent.
AcknowledgementPPGNT for S7F1/S7F2 or ACKC7 for S7F3/S7F4 and S7F17/S7F18: the code received in a reply, or the code prepared for a received request; null when there is none.
AppliedWhether a received S7F3 or S7F17 request changed the local store.
ReplyReadyWhether a prepared reply is waiting to be sent; call GemEquipment.RespondProgram again with the same mode and decision to send it without writing again.
ConfirmationRequiredWhether the installation is unconfirmed and the reply is held until GemEquipment.ConfirmProgramReply accepts the uncertainty.
GrantActivatedWhether the reply to a received S7F1 activated a grant. It reports the original activation, not whether the grant is still outstanding.

Members

GemProgramInfo

Constructor

Represents the state of a received stream 7 process program request or reply.

public GemProgramInfo(GemRequestKind RequestKind, uint DeclaredLength, GemProgramDurability Durability, int PersistenceStatus, nuint IdCount, bool IsRequest, bool Responded, byte? Acknowledgement, bool Applied, bool ReplyReady, bool ConfirmationRequired, bool GrantActivated)

A reply exposes only wire facts: the host cannot infer from it whether the peer stored the program or how durably.

Parameters

NameDescription
RequestKindThe transaction, from GemRequestKind.ProgramGrant to GemRequestKind.ProgramDirectory.
DeclaredLengthThe body length (LENGTH) declared by a received S7F1 request; otherwise 0.
DurabilityHow durably a received S7F3 or S7F17 request was installed by GemEquipment.RespondProgram; GemProgramDurability.None for replies and before a change is installed.
PersistenceStatusThe numeric PdcommStatus of the persistence failure that left the installation unconfirmed; otherwise 0.
IdCountThe number of PPIDs: 1 for S7F1, S7F3 and S7F5 requests, the selection size of an S7F17 request (0 means all), 0 for S7F19; 1 for an S7F6 reply with a program and 0 for an unknown program; the directory length of an S7F20 reply; 0 for acknowledgement replies.
IsRequesttrue for a received primary; false for a reply.
RespondedWhether the reply to a received primary was sent.
AcknowledgementPPGNT for S7F1/S7F2 or ACKC7 for S7F3/S7F4 and S7F17/S7F18: the code received in a reply, or the code prepared for a received request; null when there is none.
AppliedWhether a received S7F3 or S7F17 request changed the local store.
ReplyReadyWhether a prepared reply is waiting to be sent; call GemEquipment.RespondProgram again with the same mode and decision to send it without writing again.
ConfirmationRequiredWhether the installation is unconfirmed and the reply is held until GemEquipment.ConfirmProgramReply accepts the uncertainty.
GrantActivatedWhether the reply to a received S7F1 activated a grant. It reports the original activation, not whether the grant is still outstanding.

Acknowledgement

Property

PPGNT for S7F1/S7F2 or ACKC7 for S7F3/S7F4 and S7F17/S7F18: the code received in a reply, or the code prepared for a received request; null when there is none.

public byte? Acknowledgement { get; init; }

Applied

Property

Whether a received S7F3 or S7F17 request changed the local store.

public bool Applied { get; init; }

ConfirmationRequired

Property

Whether the installation is unconfirmed and the reply is held until GemEquipment.ConfirmProgramReply accepts the uncertainty.

public bool ConfirmationRequired { get; init; }

DeclaredLength

Property

The body length (LENGTH) declared by a received S7F1 request; otherwise 0.

public uint DeclaredLength { get; init; }

Durability

Property

How durably a received S7F3 or S7F17 request was installed by GemEquipment.RespondProgram; GemProgramDurability.None for replies and before a change is installed.

public GemProgramDurability Durability { get; init; }

GrantActivated

Property

Whether the reply to a received S7F1 activated a grant. It reports the original activation, not whether the grant is still outstanding.

public bool GrantActivated { get; init; }

IdCount

Property

The number of PPIDs: 1 for S7F1, S7F3 and S7F5 requests, the selection size of an S7F17 request (0 means all), 0 for S7F19; 1 for an S7F6 reply with a program and 0 for an unknown program; the directory length of an S7F20 reply; 0 for acknowledgement replies.

public nuint IdCount { get; init; }

IsRequest

Property

true for a received primary; false for a reply.

public bool IsRequest { get; init; }

PersistenceStatus

Property

The numeric PdcommStatus of the persistence failure that left the installation unconfirmed; otherwise 0.

public int PersistenceStatus { get; init; }

ReplyReady

Property

Whether a prepared reply is waiting to be sent; call GemEquipment.RespondProgram again with the same mode and decision to send it without writing again.

public bool ReplyReady { get; init; }

RequestKind

Property

The transaction, from GemRequestKind.ProgramGrant to GemRequestKind.ProgramDirectory.

public GemRequestKind RequestKind { get; init; }

Responded

Property

Whether the reply to a received primary was sent.

public bool Responded { get; init; }