Skip to content

refactor: S24.17 collapse per-platform pool tunables to role-based#504

Merged
DavidCozens merged 1 commit into
mainfrom
refactor/s24.17-role-based-pool-tunables
Jun 1, 2026
Merged

refactor: S24.17 collapse per-platform pool tunables to role-based#504
DavidCozens merged 1 commit into
mainfrom
refactor/s24.17-role-based-pool-tunables

Conversation

@DavidCozens

@DavidCozens DavidCozens commented Jun 1, 2026

Copy link
Copy Markdown
Owner

Purpose

The pool-size tunable surface in Core/Interface/SolidSyslogTunablesDefaults.h named the same role once per platform/vendor implementation (SOLIDSYSLOG_POSIX_TCP_STREAM_POOL_SIZE, _WINSOCK_TCP_STREAM_, _PLUS_TCP_TCP_STREAM_, _LWIP_RAW_TCP_STREAM_ — four names for "how many TCP streams"). A build links exactly one implementation per role, so the integrator had to know their platform to find the knob that mattered, and the table grew O(roles) per new OS/stack/crypto vendor. SOLIDSYSLOG_ADDRESS_POOL_SIZE already proved the role-based model across three platform Address types; this extends it consistently.

Closes #501.

Change Description

Collapsed 8 platform/vendor-selected role groups to a single role-named tunable each (clean break, no deprecated aliases — pre-1.0):

Role tunable Replaces Default
SOLIDSYSLOG_TCP_STREAM_POOL_SIZE POSIX/WINSOCK/PLUS_TCP/LWIP_RAW TCP stream 2
SOLIDSYSLOG_DATAGRAM_POOL_SIZE POSIX/WINSOCK/PLUS_TCP/LWIP_RAW datagram 1
SOLIDSYSLOG_RESOLVER_POOL_SIZE GETADDRINFO/WINSOCK/PLUS_TCP/LWIP_RAW/LWIP_RAW_DNS 1
SOLIDSYSLOG_MUTEX_POOL_SIZE POSIX/WINDOWS/FREE_RTOS mutex 1
SOLIDSYSLOG_FILE_POOL_SIZE POSIX/WINDOWS/FATFS file 1
SOLIDSYSLOG_ATOMIC_COUNTER_POOL_SIZE STD/WINDOWS atomic counter 1
SOLIDSYSLOG_TLS_STREAM_POOL_SIZE OpenSSL/mbedTLS TLS stream 1
SOLIDSYSLOG_HMAC_SHA256_POLICY_POOL_SIZE OpenSSL/mbedTLS HMAC policy 1

Net 35 → 18 pool tunables. Within each role group the prior per-platform defaults were already uniform, so no default-value reconciliation was needed. All floor static_asserts preserved. Pure rename + header consolidation — no behaviour change.

The role rule ("pool counts instances, not implementations; if two implementations of one role ever coexist in a build, size to the sum") is documented in the header preamble and codified in docs/NAMING.md. A pre-implementation audit (recorded on #501) confirmed no current executable wires two implementations of one role, so every existing override maps 1:1 to a role override at the same value — the fixture SmallMessageSizeTunables.h even collapsed its two atomic-counter lines into one.

Test Evidence

Not TDD — mechanical refactor with full existing coverage. Verified locally:

  • debug (gcc): 1352 tests pass.
  • clang-debug: 1352 tests pass.
  • freertos-host debug (the only image that compiles the FreeRTOS/PlusTcp/LwipRaw/MbedTls/FatFs trees this touches): all 12 suites pass (1352 + 11 platform suites).
  • clang-format --dry-run --Werror clean on all 56 changed source files (reflowed the pool-allocator initialisers whose alignment shifted with the new token lengths).
  • Grep confirms the 17 removed macro names appear nowhere in the tree.

Areas Affected

  • Core/Interface/SolidSyslogTunablesDefaults.h — 25 macro blocks consolidated into 8 role blocks (−419/+110 lines).
  • 24 Platform/**/*Static.c — pool arrays reference the role macro.
  • 27 Tests/** — pool/exhaustion tests reference the role macro; Tests/Fixtures/SmallMessageSizeTunables.h two atomic-counter lines → one.
  • Bdd/Targets/FreeRtos{,Lwip}/solidsyslog_user_tunables.hFREE_RTOS_MUTEXMUTEX.
  • Docs: CLAUDE.md, docs/NAMING.md (new convention + sum caveat), docs/integrating-lwip.md (merged resolver rows), docs/misra-deviations.md (stale identifier example).

No impact on the public API surface (SolidSyslog*.h audience headers) beyond the documented tunable names. Integrators with a custom SOLIDSYSLOG_USER_TUNABLES_FILE that overrode a per-platform pool name must rename to the role name.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Configuration Changes

    • Consolidated platform-specific pool-size tunables into unified, role-based configuration macros (e.g., SOLIDSYSLOG_MUTEX_POOL_SIZE instead of platform-specific variants). Users must update pool-size tunable names in their configurations to use the new role-based naming convention.
  • Documentation

    • Added pool-sizing conventions and updated integration guides to reflect the new role-based tunable structure.

Reduce the pool-size tunable surface in SolidSyslogTunablesDefaults.h from 35
macros to 18 by collapsing 8 platform/vendor-selected role groups to a single
role-named tunable each:

  TCP_STREAM         <- POSIX/WINSOCK/PLUS_TCP/LWIP_RAW TCP stream
  DATAGRAM           <- POSIX/WINSOCK/PLUS_TCP/LWIP_RAW datagram
  RESOLVER           <- GETADDRINFO/WINSOCK/PLUS_TCP/LWIP_RAW/LWIP_RAW_DNS
  MUTEX              <- POSIX/WINDOWS/FREE_RTOS mutex
  FILE               <- POSIX/WINDOWS/FATFS file
  ATOMIC_COUNTER     <- STD/WINDOWS atomic counter
  TLS_STREAM         <- OpenSSL/mbedTLS TLS stream
  HMAC_SHA256_POLICY <- OpenSSL/mbedTLS HMAC policy

A build links exactly one implementation per role, so the integrator tunes the
role (SOLIDSYSLOG_TCP_STREAM_POOL_SIZE) rather than the platform. Extends the
existing SOLIDSYSLOG_ADDRESS_POOL_SIZE precedent; the table now grows O(1) per
new OS/stack/vendor instead of O(roles). Within each role group the prior
per-platform defaults were already uniform, so no default-value reconciliation.

Clean break, no deprecated aliases (pre-1.0). All floor static_asserts kept.
Convention + the two-implementations-in-one-build sum caveat documented in
docs/NAMING.md and the header preamble. No behaviour change.

Closes #501

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: a140c74c-57fd-4349-b341-039ae52162b5

📥 Commits

Reviewing files that changed from the base of the PR and between 0977e87 and bfe4d1a.

📒 Files selected for processing (59)
  • Bdd/Targets/FreeRtos/solidsyslog_user_tunables.h
  • Bdd/Targets/FreeRtosLwip/solidsyslog_user_tunables.h
  • CLAUDE.md
  • Core/Interface/SolidSyslogTunablesDefaults.h
  • DEVLOG.md
  • Platform/Atomics/Source/SolidSyslogStdAtomicCounterStatic.c
  • Platform/FatFs/Source/SolidSyslogFatFsFileStatic.c
  • Platform/FreeRtos/Source/SolidSyslogFreeRtosMutexStatic.c
  • Platform/LwipRaw/Source/SolidSyslogLwipRawDatagramStatic.c
  • Platform/LwipRaw/Source/SolidSyslogLwipRawDnsResolverStatic.c
  • Platform/LwipRaw/Source/SolidSyslogLwipRawResolverStatic.c
  • Platform/LwipRaw/Source/SolidSyslogLwipRawTcpStreamStatic.c
  • Platform/MbedTls/Source/SolidSyslogMbedTlsHmacSha256PolicyStatic.c
  • Platform/MbedTls/Source/SolidSyslogMbedTlsStreamStatic.c
  • Platform/OpenSsl/Source/SolidSyslogOpenSslHmacSha256PolicyStatic.c
  • Platform/PlusTcp/Source/SolidSyslogPlusTcpDatagramStatic.c
  • Platform/PlusTcp/Source/SolidSyslogPlusTcpResolverStatic.c
  • Platform/PlusTcp/Source/SolidSyslogPlusTcpTcpStreamStatic.c
  • Platform/Posix/Source/SolidSyslogGetAddrInfoResolverStatic.c
  • Platform/Posix/Source/SolidSyslogPosixDatagramStatic.c
  • Platform/Posix/Source/SolidSyslogPosixFileStatic.c
  • Platform/Posix/Source/SolidSyslogPosixMutexStatic.c
  • Platform/Posix/Source/SolidSyslogPosixTcpStreamStatic.c
  • Platform/Windows/Source/SolidSyslogWindowsAtomicCounterStatic.c
  • Platform/Windows/Source/SolidSyslogWindowsFileStatic.c
  • Platform/Windows/Source/SolidSyslogWindowsMutexStatic.c
  • Platform/Windows/Source/SolidSyslogWinsockDatagramStatic.c
  • Platform/Windows/Source/SolidSyslogWinsockResolverStatic.c
  • Platform/Windows/Source/SolidSyslogWinsockTcpStreamStatic.c
  • Tests/FatFs/SolidSyslogFatFsFilePoolTest.cpp
  • Tests/Fixtures/SmallMessageSizeTunables.h
  • Tests/FreeRtos/SolidSyslogFreeRtosMutexTest.cpp
  • Tests/FreeRtos/SolidSyslogPlusTcpDatagramTest.cpp
  • Tests/FreeRtos/SolidSyslogPlusTcpResolverTest.cpp
  • Tests/FreeRtos/SolidSyslogPlusTcpTcpStreamTest.cpp
  • Tests/Lwip/SolidSyslogLwipRawDatagramTest.cpp
  • Tests/Lwip/SolidSyslogLwipRawDnsResolverTest.cpp
  • Tests/Lwip/SolidSyslogLwipRawResolverTest.cpp
  • Tests/Lwip/SolidSyslogLwipRawTcpStreamTest.cpp
  • Tests/MbedTls/SolidSyslogMbedTlsHmacSha256PolicyTest.cpp
  • Tests/MbedTls/SolidSyslogMbedTlsStreamPoolTest.cpp
  • Tests/SolidSyslogGetAddrInfoResolverTest.cpp
  • Tests/SolidSyslogOpenSslHmacSha256PolicyTest.cpp
  • Tests/SolidSyslogPosixDatagramTest.cpp
  • Tests/SolidSyslogPosixFileTest.cpp
  • Tests/SolidSyslogPosixMutexTest.cpp
  • Tests/SolidSyslogPosixTcpStreamTest.cpp
  • Tests/SolidSyslogStdAtomicCounterPoolTest.cpp
  • Tests/SolidSyslogStdAtomicCounterTestHelper.c
  • Tests/SolidSyslogWindowsAtomicCounterPoolTest.cpp
  • Tests/SolidSyslogWindowsAtomicCounterTestHelper.c
  • Tests/SolidSyslogWindowsFileTest.cpp
  • Tests/SolidSyslogWindowsMutexTest.cpp
  • Tests/SolidSyslogWinsockDatagramTest.cpp
  • Tests/SolidSyslogWinsockResolverTest.cpp
  • Tests/SolidSyslogWinsockTcpStreamTest.cpp
  • docs/NAMING.md
  • docs/integrating-lwip.md
  • docs/misra-deviations.md

📝 Walkthrough

Walkthrough

This PR consolidates 35 platform/vendor-specific pool-size tunables into 8 role-based tunables across the SolidSyslog codebase, eliminating redundant per-platform naming (POSIX, Windows, FreeRTOS, lwIP, etc.) in favor of unified role-based constants. The change includes mechanical updates to ~50 platform implementations and tests, documentation of the role-based convention, and no behavioral changes.

Changes

Pool-Size Tunable Role-Based Architecture

Layer / File(s) Summary
Role-based tunable consolidation and convention
Core/Interface/SolidSyslogTunablesDefaults.h, DEVLOG.md
Consolidates 35 pool-size macros into 18 by introducing 8 new role-based tunables (mutex, datagram, resolver, file, TCP stream, atomic counter, TLS stream, HMAC policy); removes all platform/vendor-specific variants and establishes role-not-platform naming convention with floor assertions and documentation.

Platform Static Pool Implementation Updates

Layer / File(s) Summary
Atomic counter pool implementations
Platform/Atomics/Source/SolidSyslogStdAtomicCounterStatic.c, Platform/Windows/Source/SolidSyslogWindowsAtomicCounterStatic.c
Update static atomic-counter pool arrays and allocators to use SOLIDSYSLOG_ATOMIC_COUNTER_POOL_SIZE instead of SOLIDSYSLOG_STD_ATOMIC_COUNTER_POOL_SIZE and SOLIDSYSLOG_WINDOWS_ATOMIC_COUNTER_POOL_SIZE.
Mutex pool implementations
Platform/FreeRtos/Source/SolidSyslogFreeRtosMutexStatic.c, Platform/Posix/Source/SolidSyslogPosixMutexStatic.c, Platform/Windows/Source/SolidSyslogWindowsMutexStatic.c
Update static mutex pool arrays and allocators in FreeRTOS, POSIX, and Windows implementations to use SOLIDSYSLOG_MUTEX_POOL_SIZE.
File pool implementations
Platform/FatFs/Source/SolidSyslogFatFsFileStatic.c, Platform/Posix/Source/SolidSyslogPosixFileStatic.c, Platform/Windows/Source/SolidSyslogWindowsFileStatic.c
Update static file pool arrays and allocators in FatFs, POSIX, and Windows implementations to use SOLIDSYSLOG_FILE_POOL_SIZE.
Datagram pool implementations
Platform/LwipRaw/Source/SolidSyslogLwipRawDatagramStatic.c, Platform/Posix/Source/SolidSyslogPosixDatagramStatic.c, Platform/Windows/Source/SolidSyslogWinsockDatagramStatic.c, Platform/PlusTcp/Source/SolidSyslogPlusTcpDatagramStatic.c
Update static datagram pool arrays and allocators across lwIP raw, POSIX, WinSock, and PlusTCP implementations to use SOLIDSYSLOG_DATAGRAM_POOL_SIZE.
Resolver pool implementations
Platform/LwipRaw/Source/SolidSyslogLwipRawDnsResolverStatic.c, Platform/LwipRaw/Source/SolidSyslogLwipRawResolverStatic.c, Platform/Posix/Source/SolidSyslogGetAddrInfoResolverStatic.c, Platform/PlusTcp/Source/SolidSyslogPlusTcpResolverStatic.c, Platform/Windows/Source/SolidSyslogWinsockResolverStatic.c
Update static resolver pool arrays and allocators across lwIP raw (numeric and DNS), getaddrinfo, PlusTCP, and WinSock implementations to use SOLIDSYSLOG_RESOLVER_POOL_SIZE.
TCP stream pool implementations
Platform/LwipRaw/Source/SolidSyslogLwipRawTcpStreamStatic.c, Platform/Posix/Source/SolidSyslogPosixTcpStreamStatic.c, Platform/Windows/Source/SolidSyslogWinsockTcpStreamStatic.c, Platform/PlusTcp/Source/SolidSyslogPlusTcpTcpStreamStatic.c
Update static TCP stream pool arrays and allocators across lwIP raw, POSIX, WinSock, and PlusTCP implementations to use SOLIDSYSLOG_TCP_STREAM_POOL_SIZE.
TLS stream and HMAC policy pool implementations
Platform/MbedTls/Source/SolidSyslogMbedTlsHmacSha256PolicyStatic.c, Platform/OpenSsl/Source/SolidSyslogOpenSslHmacSha256PolicyStatic.c, Platform/MbedTls/Source/SolidSyslogMbedTlsStreamStatic.c
Update static TLS stream and HMAC policy pool arrays in MbedTLS and OpenSSL implementations to use SOLIDSYSLOG_HMAC_SHA256_POLICY_POOL_SIZE and SOLIDSYSLOG_TLS_STREAM_POOL_SIZE.

Pool Allocation and Exhaustion Test Updates

Layer / File(s) Summary
Atomic counter pool tests
Tests/SolidSyslogStdAtomicCounterPoolTest.cpp, Tests/SolidSyslogWindowsAtomicCounterPoolTest.cpp, Tests/SolidSyslogStdAtomicCounterTestHelper.c, Tests/SolidSyslogWindowsAtomicCounterTestHelper.c
Update test fixture pooled-handle array sizes and config lock/unlock call-count assertions to use SOLIDSYSLOG_ATOMIC_COUNTER_POOL_SIZE.
Mutex pool tests
Tests/FreeRtos/SolidSyslogFreeRtosMutexTest.cpp, Tests/SolidSyslogPosixMutexTest.cpp, Tests/SolidSyslogWindowsMutexTest.cpp
Update pooled mutex array sizes and lock/unlock call counts in exhaustion tests to use SOLIDSYSLOG_MUTEX_POOL_SIZE.
File pool tests
Tests/FatFs/SolidSyslogFatFsFilePoolTest.cpp, Tests/SolidSyslogPosixFileTest.cpp, Tests/SolidSyslogWindowsFileTest.cpp
Update pooled file handle array sizes and lock/unlock call counts in exhaustion tests to use SOLIDSYSLOG_FILE_POOL_SIZE.
Datagram pool tests
Tests/Lwip/SolidSyslogLwipRawDatagramTest.cpp, Tests/SolidSyslogPosixDatagramTest.cpp, Tests/SolidSyslogWinsockDatagramTest.cpp, Tests/FreeRtos/SolidSyslogPlusTcpDatagramTest.cpp
Update pooled datagram array sizes and lock/unlock call counts in exhaustion tests to use SOLIDSYSLOG_DATAGRAM_POOL_SIZE.
Resolver pool tests
Tests/Lwip/SolidSyslogLwipRawDnsResolverTest.cpp, Tests/Lwip/SolidSyslogLwipRawResolverTest.cpp, Tests/SolidSyslogGetAddrInfoResolverTest.cpp, Tests/FreeRtos/SolidSyslogPlusTcpResolverTest.cpp, Tests/SolidSyslogWinsockResolverTest.cpp
Update pooled resolver array sizes and lock/unlock call counts in exhaustion tests to use SOLIDSYSLOG_RESOLVER_POOL_SIZE.
TCP stream pool tests
Tests/Lwip/SolidSyslogLwipRawTcpStreamTest.cpp, Tests/SolidSyslogPosixTcpStreamTest.cpp, Tests/SolidSyslogWinsockTcpStreamTest.cpp, Tests/FreeRtos/SolidSyslogPlusTcpTcpStreamTest.cpp
Update pooled TCP stream array sizes and lock/unlock call counts in exhaustion tests to use SOLIDSYSLOG_TCP_STREAM_POOL_SIZE.
TLS stream and HMAC policy pool tests
Tests/MbedTls/SolidSyslogMbedTlsHmacSha256PolicyTest.cpp, Tests/SolidSyslogOpenSslHmacSha256PolicyTest.cpp, Tests/MbedTls/SolidSyslogMbedTlsStreamPoolTest.cpp
Update pooled handle array sizes and lock/unlock call counts in TLS and HMAC policy tests to use SOLIDSYSLOG_HMAC_SHA256_POLICY_POOL_SIZE and SOLIDSYSLOG_TLS_STREAM_POOL_SIZE.

Board Definition and Test Configuration Updates

Layer / File(s) Summary
FreeRTOS board target configuration
Bdd/Targets/FreeRtos/solidsyslog_user_tunables.h, Bdd/Targets/FreeRtosLwip/solidsyslog_user_tunables.h
Update FreeRTOS board target headers to reference SOLIDSYSLOG_MUTEX_POOL_SIZE instead of SOLIDSYSLOG_FREE_RTOS_MUTEX_POOL_SIZE.
Test fixture pool-size overrides
Tests/Fixtures/SmallMessageSizeTunables.h
Update test fixture to define SOLIDSYSLOG_ATOMIC_COUNTER_POOL_SIZE instead of separate SOLIDSYSLOG_STD_ATOMIC_COUNTER_POOL_SIZE and SOLIDSYSLOG_WINDOWS_ATOMIC_COUNTER_POOL_SIZE overrides.

Convention Documentation and Integration Guides

Layer / File(s) Summary
Pool-size naming convention definition
docs/NAMING.md
Add role-based pool-size naming convention section specifying that pool-size tunables are named by functional role, not platform/vendor implementation; document instance-count semantics and coexistence cases.
Integration guides and in-code documentation
CLAUDE.md, docs/integrating-lwip.md
Update architectural documentation to reference role-based SOLIDSYSLOG_RESOLVER_POOL_SIZE and explain shared-instance counting when multiple implementations of the same role are wired.
Documentation reference updates
docs/misra-deviations.md
Update MISRA deviation D.001 example reference to use SOLIDSYSLOG_HMAC_SHA256_POLICY_POOL_SIZE for external identifier uniqueness illustration.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • DavidCozens/solid-syslog#501: Parent story detailing the pool-size tunable consolidation strategy and acceptance criteria.
  • DavidCozens/solid-syslog#486: Introduces lwIP raw DNS resolver that uses SOLIDSYSLOG_LWIP_RAW_DNS_RESOLVER_POOL_SIZE, which this PR consolidates into the shared SOLIDSYSLOG_RESOLVER_POOL_SIZE.
  • DavidCozens/solid-syslog#407: Introduces POSIX pool-backed implementations for mutex, file, TCP stream, and datagram that this PR consolidates to role-based tunable names.

🐰 Pools of instances, once scattered wide,
Now unified by role—the cleaner tide!
No more per-platform names to chase,
Just role-based tunables in their place.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 14.29% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed Title follows Conventional Commits (refactor:) and clearly summarizes the main change: collapsing per-platform pool tunables to role-based ones.
Description check ✅ Passed Description comprehensively covers Purpose (why), Change Description (what and how), Test Evidence (verification), and Areas Affected (scope), with clear tables and rationale.
Linked Issues check ✅ Passed The PR fully addresses all coding objectives from issue #501: collapsed 35→18 pool tunables, preserved floor static_asserts, documented the role-based convention, updated all platform files, tests, and docs consistently.
Out of Scope Changes check ✅ Passed All changes directly support the pool-tunable consolidation objective; no unrelated modifications detected beyond the scope defined in issue #501.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch refactor/s24.17-role-based-pool-tunables

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

github-actions Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

☀️   Quality Summary

   🚦   build-linux-gcc: 100% successful (✔️ 1376 passed)
   🚦   build-freertos-host-tdd-plustcp: 100% successful (✔️ 1684 passed)
   🚦   build-linux-clang: 100% successful (✔️ 1323 passed)
   🚦   sanitize-linux-gcc: 100% successful (✔️ 1323 passed)
   🚦   integration-linux-openssl: 100% successful (✔️ 9 passed)
   🚦   integration-linux-mbedtls: 100% successful (✔️ 7 passed)
   🚦   integration-windows-openssl: 100% successful (✔️ 9 passed)
   🚦   bdd-linux-syslog-ng: 94% successful (✔️ 47 passed, 🙈 3 skipped)
   🚦   bdd-windows-otel: 90% successful (✔️ 45 passed, 🙈 5 skipped)
   🚦   bdd-freertos-qemu-plustcp: 86% successful (✔️ 43 passed, 🙈 7 skipped)
   🚦   bdd-freertos-qemu-lwip: 64% successful (✔️ 32 passed, 🙈 18 skipped)
   🚦   build-windows-msvc: 100% successful (✔️ 1176 passed)
   🚦   build-linux-tunable-override: 100% successful (✔️ 1323 passed)
   ⚠️   Clang-Tidy: No warnings
   ⚠️   CPPCheck: No warnings


Created by Quality Monitor v1.14.0 (#f3859fd). More details are shown in the GitHub Checks Result.

@DavidCozens DavidCozens merged commit f791d04 into main Jun 1, 2026
27 checks passed
@DavidCozens DavidCozens deleted the refactor/s24.17-role-based-pool-tunables branch June 1, 2026 11:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

S24.17: Collapse per-platform pool-size tunables to role-based tunables

1 participant