PDComm.GemProgramInfo
Struct
Represents the state of a received stream 7 process program request or reply.
public readonly record struct GemProgramInfoA reply exposes only wire facts: the host cannot infer from it whether the peer stored the program or how durably.
Parameters
| Name | Description |
|---|---|
RequestKind | The transaction, from GemRequestKind.ProgramGrant to GemRequestKind.ProgramDirectory. |
DeclaredLength | The body length (LENGTH) declared by a received S7F1 request; otherwise 0. |
Durability | How durably a received S7F3 or S7F17 request was installed by GemEquipment.RespondProgram; GemProgramDurability.None for replies and before a change is installed. |
PersistenceStatus | The numeric PdcommStatus of the persistence failure that left the installation unconfirmed; otherwise 0. |
IdCount | 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. |
IsRequest | true for a received primary; false for a reply. |
Responded | Whether the reply to a received primary was sent. |
Acknowledgement | 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. |
Applied | Whether a received S7F3 or S7F17 request changed the local store. |
ReplyReady | 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. |
ConfirmationRequired | Whether the installation is unconfirmed and the reply is held until GemEquipment.ConfirmProgramReply accepts the uncertainty. |
GrantActivated | Whether 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
| Name | Description |
|---|---|
RequestKind | The transaction, from GemRequestKind.ProgramGrant to GemRequestKind.ProgramDirectory. |
DeclaredLength | The body length (LENGTH) declared by a received S7F1 request; otherwise 0. |
Durability | How durably a received S7F3 or S7F17 request was installed by GemEquipment.RespondProgram; GemProgramDurability.None for replies and before a change is installed. |
PersistenceStatus | The numeric PdcommStatus of the persistence failure that left the installation unconfirmed; otherwise 0. |
IdCount | 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. |
IsRequest | true for a received primary; false for a reply. |
Responded | Whether the reply to a received primary was sent. |
Acknowledgement | 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. |
Applied | Whether a received S7F3 or S7F17 request changed the local store. |
ReplyReady | 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. |
ConfirmationRequired | Whether the installation is unconfirmed and the reply is held until GemEquipment.ConfirmProgramReply accepts the uncertainty. |
GrantActivated | Whether 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; }