pub struct Reader { /* private fields */ }Expand description
A reader of a SharedDataflow’s arrangements that renders nothing.
The read model’s half of §5.3’s cut: the operators that do not read the session are exactly the
ones a client with no session can be shown (crate::read). Holding one keeps the arrangements
from being released; dropping it is how a SQL connection ends.
Implementations§
Source§impl Reader
impl Reader
Sourcepub fn read(
&self,
state: &Value,
version: u64,
id: OpId,
) -> Result<Vec<Value>, ExecError>
pub fn read( &self, state: &Value, version: u64, id: OpId, ) -> Result<Vec<Value>, ExecError>
One shared operator’s output, as the rows it stands for, at version.
Advances the shared prefix first, by the same path a rendering subscriber takes — so a query issued after an ack sees that ack’s event, and a query issued when nothing is subscribed pays for the advance nobody else has paid for. That is the read model’s whole freshness story: there is no projection to lag behind.
An arrangement answers its entries in key order, which is the order the plan gives it and therefore the order the page renders in. A value answers itself, once.