DAC: Refine and implement root hash streamer interface
Context
Update: As requested by the first review / realised by !7548 (merged) this MR also redefines the interface a bit.
Too see how Data_streamer component is meant to be used it is best to check it's integration/usage in !7548 (merged)
This MR does the following:
- Moves
Data_streamerfrombin_dac_nodetolib_dac_node. - Implements and tests
Data_streamer.Root_hash_streamerinterface.
The MR is part of #4655 (closed). With this MR we have implementation of the root hashes component that coordinator will eventually have integrated into the node context. In the subsequent MRs dac members will be able to subribe to the coordinator for the root hashes and coordinator will internally "delegate" the work to this component. Note that as such it will be coordinator that will handle all the subsription and publication work using this component (as an internal one). If it goes down all the pub sub information will be lost, furthermore we currently have no concept of offset.
closes: #4740 (closed)
Manually testing the MR
dune exec src/lib_dac_node/test/main.exe -- test "^\[Unit\] Data_streamer.ml$"
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR