Skip to content
Start free evaluation

PDComm.GemProgramOptions

Class

Configures the process program store and the stream 7 transactions of a GEM endpoint.

public sealed record GemProgramOptions

Pass 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 required property 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; }