Repository navigation
feat: v2.14.0 — Auxiliary Transport & Cross-Cutting Rebind (§Phase 15 milestone 58) - #53
Merged
Merged
Conversation
… milestone 58)
Rebinds all seven ADAPT-category satellite packages ROADMAP.md milestone 58
covers to the post-replacement stream/byte_bus_id addressing model, per the
Satellite Package Disposition table's entries for these files. None of the
seven depended on rcp.hpp's Zone/Command/Controller/Registry model beyond
rcp::Context and its generic error constants, so this is a pure rebind, not
a redesign.
mdns.hpp is rescoped to host:port discovery for the UDP/IP transport
variant specifically (ZoneInfo -> ServerInfo, keyed by an opaque
stream_key); TC18's own wire-level discovery (rcp/discovery.hpp, v2.2.0)
needs no name service at all. tls.hpp is rebuilt as SecureClient/
SecureServer wrapping rcp/udp.hpp's Server/Client (v2.13.0), same
OpenSSL-gated-backend/stub split as before, and now states plainly that
the specification's preferred link-security mechanism is MACsec (802.1AE)
at layer 2, which this package does not address. tsn.hpp's PCPMap now maps
rcp::request::RequestCategory's seven-way execution-priority ordering
(v2.5.0) instead of the removed Priority enum, via a standalone
apply_priority() free function rather than a wrapped Controller — there is
no unified client-side send() chokepoint left to wrap until the
CLI/capi/adapt rebuilds at v2.16.0.
shmem.hpp's ZoneServer/Controller become Channel/Registry, keyed by
stream_key the same way rcp/watchdog.hpp's Manager already is, still
dispatching in-process with no wire encode/decode step. loan.hpp's
loan::Controller becomes a standalone BufferPool (re-zeroing buffers on
reuse), the same "primitive, not a wrapped chokepoint" choice tsn.hpp
makes here. record.hpp and observe.hpp both wrap a RequestFn shaped like
udp::Client::request's core signature; record::Entry now carries
AcfMessageInfo/payload pairs with a new read_binary so the on-disk format
round-trips losslessly, and observe::Span/Metric swap Zone/CommandType for
byte_bus_id/acf_msg_type/stream_key.
No other file in the tree depended on any of the seven pre-v2.14.0 APIs
beyond their own tests, so no legacy-shim split file was needed anywhere.
tests/test_{mdns,tls,tsn,shmem,loan,record,observe}.cpp are entirely
rewritten under their existing REQ-*-NNN prefixes, traced in
.fusa-reqs.json. version.hpp/CMakeLists.txt bumped to 2.14.0; README.md's
header table and ROADMAP.md get updated accordingly, with a Done note.
Verified locally: full build + ctest (60/60 passing) on C++17 and C++20,
cpp-FuSa check/lint/cyber/trace (100% requirement coverage)/verify, and
the RELAY conformance gate.
Signed-off-by: Matt <47545907+SoundMatt@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements ROADMAP.md milestone 58, "Auxiliary Transport & Cross-Cutting Rebind (v2.14.0)" — the seven ADAPT-category satellite packages the Satellite Package Disposition table lists, rebound onto the post-replacement stream/
byte_bus_idaddressing model:rcp/mdns.hpp— rescoped to host:port discovery for the UDP/IP transport variant specifically (ZoneInfo→ServerInfo, keyed by an opaquestream_key). TC18's own wire-level discovery (rcp/discovery.hpp, v2.2.0) needs no name service at all.rcp/tls.hpp— rebuilt asSecureClient/SecureServerwrappingrcp/udp.hpp'sServer/Client(v2.13.0), same OpenSSL-gated-backend/stub split as before; now states plainly that the specification's preferred link-security mechanism is MACsec (802.1AE) at layer 2, which this package does not address.rcp/tsn.hpp—PCPMapnow mapsrcp::request::RequestCategory's seven-way execution-priority ordering (v2.5.0) instead of the removedPriorityenum, via a standaloneapply_priority()free function rather than a wrappedController(no unified client-sidesend()chokepoint exists yet — that lands at v2.16.0).rcp/shmem.hpp—ZoneServer/ControllerbecomeChannel/Registry, keyed bystream_keythe same wayrcp/watchdog.hpp'sManageralready is.rcp/loan.hpp—loan::Controllerbecomes a standaloneBufferPool(buffers re-zeroed on reuse), same "primitive, not a wrapped chokepoint" choicetsn.hppmakes here.rcp/record.hpp— wraps aRequestFnshaped likeudp::Client::request's core signature;Entrynow carriesAcfMessageInfo/payload pairs, and a newread_binarymakes the on-disk format round-trip losslessly (previously only asserted non-empty).rcp/observe.hpp— wraps the sameRequestFn;Span/MetricswapZone/CommandTypeforbyte_bus_id/acf_msg_type/stream_key.No other file in the tree depended on any of the seven pre-v2.14.0 APIs beyond their own tests, so no legacy-shim split file was needed anywhere (verified by grep before starting).
tests/test_{mdns,tls,tsn,shmem,loan,record,observe}.cppare entirely rewritten under their existingREQ-*-NNNprefixes, traced in.fusa-reqs.json.version.hpp/CMakeLists.txtbumped to 2.14.0;README.md's header table andROADMAP.mdupdated with a**Done (v2.14.0):**note.Test plan
cmake --buildfull project on C++17 and C++20 — cleanctest— 60/60 tests passingcpfusa check/lint/cyber— 0 errorscpfusa trace --req-coverage 100— 480/480 requirements annotated + tested (100%)cpfusa verify— evidence bundle generated, 60/60 testsrelay conform --strictagainst the builtcpp-rcpCLI — PASS