mirror of
https://github.com/versity/scoutfs.git
synced 2026-02-08 03:30:46 +00:00
We're going to need communication between mounts to update and distribute the manifest and allocators in the treap ring. This adds a netwoking core where one mount becomes the server and other mounts send requests to it. The messaging semantics are pretty simple in that clients reliably send requests and the server passively reply to requests. Complexity beyond that is up to the callers implementing the requests. It relies on locking to establish the server role and to broadcast the address of the server socket. We add a trivial lvb back to our local test locking implementation to store the address. We also add the ability to shut down locking so that the locking networking work stops blocking. A little demonstration request is included which just gives visibility into client and server clocks in the trace logs. Next up we'll add the requests that do real work. Signed-off-by: Zach Brown <zab@versity.com>