Files
neon/pageserver/src
Christian Schwarz 1fa17ed486 seqwait: add support for communicating immutable data between advance and wait
The long-term plan is to make LayerMap an immutable data structure that is
multi-versioned. Meaning, we will not modify LayerMap in place but create
a (cheap) copy and modify that copy. Once we're done making modifications,
we make the copy available to readers through the SeqWait.

The modifications will be made by a _single_ task, the pageserver actor.
But _many_ readers can wait_for & use same or multiple versions of the LayerMap.

So, there's a new method `split_spmc` that splits up a `SeqWait` into a
not-clonable producer (Advance) and a clonable consumer (Wait).

(SeqWait itself is mpmc, but, for the actor architecture, it makes sense
 to enforce spmc in the type system)

 # Please enter the commit message for your changes. Lines starting
2023-06-07 16:26:48 +02:00
..
2023-02-24 23:30:02 +04:00
2023-01-25 14:53:30 +01:00
2023-01-25 14:53:30 +01:00
2023-03-31 14:47:57 +03:00
2022-11-10 16:43:04 -05:00
2023-02-24 23:30:02 +04:00
2022-12-21 19:16:39 +01:00