Rename serve_edge to serve_input

This commit is contained in:
Dennis Kobert
2026-09-06 15:12:46 +00:00
parent 6961687172
commit 8f7d3936f8
15 changed files with 55 additions and 55 deletions

View File

@@ -631,7 +631,7 @@ mod tests {
use crate::arena::Arena;
use crate::context::ExtractArena;
use crate::record::{LiftedSource, serve_edge};
use crate::record::{LiftedSource, serve_input};
#[derive(Clone, Copy)]
struct TestInput<'a> {
@@ -676,7 +676,7 @@ mod tests {
let layout = Node::<TestInput>::layout(&node).clone();
let erased: Box<dyn Node<TestInput>> = Box::new(node);
let frames = crate::record::test_frames(1 << 12);
let GPoll::Final(value) = serve_edge(&*erased, &input, &frames) else {
let GPoll::Final(value) = serve_input(&*erased, &input, &frames) else {
panic!("the erased edge must serve a final record");
};
// SAFETY: the record was served at `layout`, whose element is the output.

View File

@@ -3,7 +3,7 @@
use super::access::{Rec, RecordValue, read_element};
use super::frames::Frames;
use super::layout::Layout;
use super::serve::{FrameClaim, Served, serve_edge};
use super::serve::{FrameClaim, Served, serve_input};
use crate::gpoll::GPoll;
use crate::node::Node;
@@ -513,6 +513,6 @@ impl<El: Clone + 'static, N> RecordExtract<El, N> {
// The element copies out by value, so the edge's claim dies with
// the scope.
let scope = frames.scope();
serve_edge(&self.edge, input, &scope).map(|value| unsafe { read_element::<El>(self.layout.rec(&value)) })
serve_input(&self.edge, input, &scope).map(|value| unsafe { read_element::<El>(self.layout.rec(&value)) })
}
}

View File

@@ -32,5 +32,5 @@ pub use owned::{OwnedRecord, deepen_field_value, register_deep_element_clone, re
pub use promote::{Promotion, assert_promoted, register_element_promote, register_field_promote, register_retained_heap};
pub use route::{RecordSource, SourcePlan};
pub use run::{Group, GroupItem, RunBuilder, RunColumn, RunView};
pub use serve::{FrameClaim, MaterializedSpan, Served, SlotRun, serve_edge};
pub use serve::{FrameClaim, MaterializedSpan, Served, SlotRun, serve_input};
pub use testkit::{LiftedSource, ServedRecord, capture, test_frames};

View File

@@ -3,7 +3,7 @@
use super::access::{Rec, apply_plan};
use super::frames::Frames;
use super::layout::{Layout, copy_plan};
use super::serve::{FrameClaim, Served, serve_edge};
use super::serve::{FrameClaim, Served, serve_input};
use crate::attribute;
use crate::gpoll::GPoll;
use crate::node::Node;
@@ -97,7 +97,7 @@ where
let Some(plan) = &self.plan else {
return self.edge.serve(input, slot);
};
match serve_edge(&self.edge, input, &mut slot.frames().reborrow()) {
match serve_input(&self.edge, input, &mut slot.frames().reborrow()) {
GPoll::Final(value) => {
// SAFETY: the value came from this edge, so it carries the
// plan's source layout.

View File

@@ -280,7 +280,7 @@ impl<'e> Served<'e> {
/// Claims `node`'s own frame from `frames` and serves through it: the
/// caller-side half of [`Node::serve`], for drivers that want the record
/// rather than the proof.
pub fn serve_edge<'e, C, N>(node: &N, input: &C, frames: &Frames<'e>) -> GPoll<RecordValue<'e>>
pub fn serve_input<'e, C, N>(node: &N, input: &C, frames: &Frames<'e>) -> GPoll<RecordValue<'e>>
where
N: Node<C> + ?Sized,
C: crate::context::ExtractArena<ArenaRef = &'e crate::arena::Arena>,

View File

@@ -3,7 +3,7 @@
use super::frames::{FrameArena, Frames};
use super::layout::{Layout, element_write};
use super::owned::OwnedRecord;
use super::serve::{FrameClaim, Served, serve_edge};
use super::serve::{FrameClaim, Served, serve_input};
use crate::gpoll::GPoll;
use crate::node::Node;
@@ -81,7 +81,7 @@ where
{
let scope = frames.scope();
let layout = node.layout().clone();
serve_edge(node, ctx, &scope).map(|value| ServedRecord {
serve_input(node, ctx, &scope).map(|value| ServedRecord {
// SAFETY: the poll served `value` at the node's declared layout and
// nothing has claimed frames since.
record: unsafe { OwnedRecord::copy_out(&layout, layout.rec(&value)) },

View File

@@ -326,7 +326,7 @@ mod tests {
use std::sync::Arc;
use std::sync::atomic::{AtomicU32, Ordering};
use crate::record::{FrameClaim, Layout, LiftedSource, Served, element_write, read_element, serve_edge};
use crate::record::{FrameClaim, Layout, LiftedSource, Served, element_write, read_element, serve_input};
fn counting() -> LiftedSource<u32, impl for<'c> Fn(&ContextImpl<'c>) -> GPoll<u32>> {
let count = AtomicU32::new(0);
@@ -383,7 +383,7 @@ mod tests {
assert_eq!(*handle.ty(), concrete!(String));
let wired = handle.downcast_erased::<ErasedRecordNode>(concrete!(String)).unwrap();
let GPoll::Final(value) = serve_edge(&wired, &ctx, &frames) else {
let GPoll::Final(value) = serve_input(&wired, &ctx, &frames) else {
panic!("borrow-carrying output must serve through the erased edge");
};
// SAFETY: the record was served at `layout`, whose element is the borrow.
@@ -466,7 +466,7 @@ mod tests {
let erased: Box<ErasedRecordNode> = Box::new(nested);
let frames = crate::record::test_frames(1 << 12);
let GPoll::Final(value) = serve_edge(&*erased, &ctx, &frames) else {
let GPoll::Final(value) = serve_input(&*erased, &ctx, &frames) else {
panic!("nested repeat must evaluate");
};
// SAFETY: the record was served at `layout`, whose element is the output.
@@ -545,7 +545,7 @@ mod tests {
let graph = ShiftFootprintNode::new(shifted, shifted_layout);
let layout = Node::<ContextImpl>::layout(&graph).clone();
let GPoll::Final(value) = serve_edge(&graph, &ctx, &frames) else {
let GPoll::Final(value) = serve_input(&graph, &ctx, &frames) else {
panic!("the footprint shift must reach the content");
};
// SAFETY: the record was served at `layout`, whose element is the resolution.
@@ -599,10 +599,10 @@ mod tests {
let second = duplicate.downcast_record::<u32>().unwrap();
// SAFETY: each record was served at `layout`, whose element is the count.
let count = |value| unsafe { layout.rec(&value).element::<u32>() };
assert_eq!(serve_edge(&first, &ctx, &frames).map(count), GPoll::Final(1));
assert_eq!(serve_edge(&second, &ctx, &frames).map(count), GPoll::Final(2));
assert_eq!(serve_input(&first, &ctx, &frames).map(count), GPoll::Final(1));
assert_eq!(serve_input(&second, &ctx, &frames).map(count), GPoll::Final(2));
drop(first);
assert_eq!(serve_edge(&second, &ctx, &frames).map(count), GPoll::Final(3));
assert_eq!(serve_input(&second, &ctx, &frames).map(count), GPoll::Final(3));
}
}