PDComm.GemProgramOptions
Class
Configures the process program store and the stream 7 transactions of a GEM endpoint.
public sealed record GemProgramOptionsPass the options to GemEquipment.ConfigurePrograms or GemHost.ConfigurePrograms. Storage limits, grant limits and the budgets of pending outgoing requests are separate; wire limits come from the item limits of the GEM endpoint.
Members
GemProgramOptions
Constructor
Initializes a new instance with default values.
public GemProgramOptions()Notes
- Set every
requiredproperty of the type in an object initializer.
GrantPolicy
Property
Gets whether a received S7F3 needs an earlier S7F1 grant.
public required GemProgramGrantPolicy GrantPolicy { get; init; }MaxBodyBytes
Property
Gets the maximum payload length in bytes of one process program body (PPBODY).
public required nuint MaxBodyBytes { get; init; }MaxGrants
Property
Gets the maximum number of S7F1 grants that can be outstanding at once; further S7F1 requests are answered with PPGNT 4 (busy).
public required nuint MaxGrants { get; init; }MaxIdentifierBytes
Property
Gets the maximum length in bytes of one PPID; the effective limit is never more than 120 bytes.
public required nuint MaxIdentifierBytes { get; init; }MaxPendingIdentifierBytes
Property
Gets the maximum total PPID bytes that pending outgoing program requests can hold at once.
public required nuint MaxPendingIdentifierBytes { get; init; }MaxPendingIds
Property
Gets the maximum number of PPIDs that pending outgoing S7F1, S7F3, S7F5 and S7F17 requests can hold at once.
public required nuint MaxPendingIds { get; init; }A host also counts these PPIDs against GemHostOptions.MaxPendingIds.
MaxPrograms
Property
Gets the maximum number of process programs in the store.
public required nuint MaxPrograms { get; init; }MaxRequestIds
Property
Gets the maximum number of PPIDs in one delete selection: a local delete or an S7F17 request.
public required nuint MaxRequestIds { get; init; }MaxReservedBodyBytes
Property
Gets the maximum total body length (LENGTH) that outstanding grants can reserve; a request beyond it is answered with PPGNT 4 (busy).
public required nuint MaxReservedBodyBytes { get; init; }MaxSerializedBytes
Property
Gets the maximum size in bytes of the storage file; used only when the store has a storage path.
public required ulong MaxSerializedBytes { get; init; }Loading a larger file, or a change that would write one, fails with PdcommStatus.LimitExceeded.
MaxTotalBodyBytes
Property
Gets the maximum total payload bytes of all process program bodies in the store.
public required nuint MaxTotalBodyBytes { get; init; }MaxTotalIdentifierBytes
Property
Gets the maximum total bytes of all PPIDs in the store.
public required nuint MaxTotalIdentifierBytes { get; init; }