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)Storage limits and the per-request ID budgets are separate. Wire limits come from the configured GEM role.
Parameters
| Name | Description |
|---|---|
maxPrograms | Maximum stored programs. |
maxIdentifierBytes | Maximum bytes of one program ID (also capped at 120). |
maxTotalIdentifierBytes | Maximum ID bytes across the store. |
maxBodyBytes | Maximum bytes of one program body. |
maxTotalBodyBytes | Maximum body bytes across the store. |
maxRequestIds | Maximum program IDs in one delete request (received S7F17 or a local delete). |
maxGrants | Maximum simultaneously active S7F1/F2 grants. |
maxReservedBodyBytes | Maximum body bytes reserved by active grants. |
maxPendingIds | Maximum program IDs held by pending outgoing requests. |
maxPendingIdentifierBytes | Maximum ID bytes held by pending outgoing requests. |
maxSerializedBytes | Maximum size of the persisted file; used only with a file path. |
grantPolicy | Whether S7F3 requires a preceding grant. |
Returns
Options with struct_size and version set.