Flow transport docs
This updates and adds details to the flow transport documentation.
In this version, there's a dangling reference top some unit tests that I haven't ported (yet).
Search: https://github.com/apple/foundationdb/compare/main...sears:foundationdb:rust.patch
for TEST_CASE. I haven't decided if I should port these to main, or leave them in the (currently dead / paused) rust branch.
That branch also contains a hacky perl script that computes a mapping from integer -> flatbuffer FileIdentifier name, which may or may not be worth saving. Getting the perl script to work involves making cosmetic changes to some .h files, and it's likely to bit rot over time. It would be nice if we had this mechanism, in general, since it's helpful when trying to diagnose protocol errors (e.g., when a message comes in to an unknown endpoint, or the file identifier doesn't match at deserialization). ComposedIdentifier makes it difficult to simply grep for these.
Code-Reviewer Section
The general guidelines can be found here.
Please check each of the following things and check all boxes before accepting a PR.
- [ ] The PR has a description, explaining both the problem and the solution.
- [ ] The description mentions which forms of testing were done and the testing seems reasonable.
- [ ] Every function/class/actor that was touched is reasonably well documented.
For Release-Branches
If this PR is made against a release-branch, please also check the following:
- [ ] This change/bugfix is a cherry-pick from the next younger branch (younger
release-branchormainif this is the youngest branch) - [ ] There is a good reason why this PR needs to go into a release branch and this reason is documented (either in the description above or in a linked GitHub issue)
I just proofread the rich diff. More of it changed than expected. I'm not sure why. The source diff is much shorter.
Anyway, this PR also refers to "checked in .fbs files", which it doesn't include. I have mixed feelings about them. They're complete enough to send a WorkerRegistrationRequst (and get a reply), but there are some hacks that work around missing flatc functionality, and no mechanism to keep them up to date as FDB's message types evolve.
Doxense CI Report for Windows 10
- Commit ID: 758cb941d687fc64aef82f86ad77778dd12451e1
- Result: :heavy_check_mark: SUCCEEDED
- Build Logs (available for 30 days)
Result of foundationdb-pr-cluster-tests on Linux CentOS 7
- Commit ID: 758cb941d687fc64aef82f86ad77778dd12451e1
- Duration 1:05:11
- Result: :x: FAILED
- Error:
Error while executing command: make -C tests compile. Reason: exit status 2 - Build Logs (available for 30 days)
Result of foundationdb-pr on Linux CentOS 7
- Commit ID: 758cb941d687fc64aef82f86ad77778dd12451e1
- Duration 1:08:05
- Result: :white_check_mark: SUCCEEDED
- Error:
N/A - Build Logs (available for 30 days)