Skip to content
Start free evaluation

pdcomm::gemProgramOptions

Function

Builds versioned limits for the process program store (GemEndpoint::configurePrograms()).

inline GemProgramOptions gemProgramOptions(size_t maxPrograms, size_t maxIdentifierBytes, size_t maxTotalIdentifierBytes, size_t maxBodyBytes, size_t maxTotalBodyBytes, size_t maxRequestIds, size_t maxGrants, size_t maxReservedBodyBytes, size_t maxPendingIds, size_t maxPendingIdentifierBytes, uint64_t maxSerializedBytes, GemProgramGrantPolicy grantPolicy)

Declared in: #include <pdcomm_gem.hpp>

Storage limits and the per-request ID budgets are separate. Wire limits come from the configured GEM role.

Parameters

NameDescription
maxProgramsMaximum stored programs.
maxIdentifierBytesMaximum bytes of one program ID (also capped at 120).
maxTotalIdentifierBytesMaximum ID bytes across the store.
maxBodyBytesMaximum bytes of one program body.
maxTotalBodyBytesMaximum body bytes across the store.
maxRequestIdsMaximum program IDs in one delete request (received S7F17 or a local delete).
maxGrantsMaximum simultaneously active S7F1/F2 grants.
maxReservedBodyBytesMaximum body bytes reserved by active grants.
maxPendingIdsMaximum program IDs held by pending outgoing requests.
maxPendingIdentifierBytesMaximum ID bytes held by pending outgoing requests.
maxSerializedBytesMaximum size of the persisted file; used only with a file path.
grantPolicyWhether S7F3 requires a preceding grant.

Returns

Options with struct_size and version set.