pub struct ExpandRequest {
pub frontier: Vec<NodeId>,
pub direction: Direction,
pub edge_types: Option<TypeIdSet>,
pub labels: Option<LabelFilter>,
pub budget: HopBudget,
pub with_degrees: bool,
}Expand description
Directed one-hop expansion request. Direction is explicit because the undirected shorthand plans as an all-vertex probe; expansion is a one-hop primitive because multi-hop chain patterns enumerate paths and explode on hubs.
Fields§
§frontier: Vec<NodeId>§direction: Direction§edge_types: Option<TypeIdSet>Per-hop restriction, already resolved to registered types.
labels: Option<LabelFilter>Per-hop restriction (labels are deferred; engines may answer
Unsupported).
budget: HopBudget§with_degrees: boolAsk for ExpandResponse::degrees to be filled.
Off by default because it costs a second scoped read: the edges incident to the reached set, not only to the frontier. A traversal does not need it — its caller post-processes the whole region — and a neighborhood projection cannot do without it, because that is what decides which neighbours of a hub survive the node budget.
Auto Trait Implementations§
impl Freeze for ExpandRequest
impl RefUnwindSafe for ExpandRequest
impl Send for ExpandRequest
impl Sync for ExpandRequest
impl Unpin for ExpandRequest
impl UnsafeUnpin for ExpandRequest
impl UnwindSafe for ExpandRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more