pub struct KernelContract<'a> { /* private fields */ }Expand description
The port-contract declaration handed to Kernel::get_contract — a safe wrapper around the
internal Contract, valid only for the duration of that call.
Type ids live in crate::packet::type_id (I64 / F64 / BUFFER / …);
0 means “any type”. Invalid indexes, invalid type ids, duplicate/empty side-packet names,
and panics make graph construction fail instead of being ignored.
Implementations§
Source§impl KernelContract<'_>
impl KernelContract<'_>
pub fn num_inputs(&self) -> usize
pub fn num_outputs(&self) -> usize
Sourcepub fn input_type(&mut self, i: usize, type_id: u64)
pub fn input_type(&mut self, i: usize, type_id: u64)
Declare the payload type of input port i (0 = any; use
crate::packet::type_id::I64 and friends for the built-in types).
Sourcepub fn output_type(&mut self, i: usize, type_id: u64)
pub fn output_type(&mut self, i: usize, type_id: u64)
Declare the payload type of output port i. See input_type.
Sourcepub fn output_any(&mut self, i: usize)
pub fn output_any(&mut self, i: usize)
Produce any payload type on output port i (the default).
Sourcepub fn require_side_packet(&mut self, name: &str)
pub fn require_side_packet(&mut self, name: &str)
Declare a required side packet; if the host forgets to inject it, graph init fails.
Auto Trait Implementations§
impl<'a> !UnwindSafe for KernelContract<'a>
impl<'a> Freeze for KernelContract<'a>
impl<'a> RefUnwindSafe for KernelContract<'a>
impl<'a> Send for KernelContract<'a>
impl<'a> Sync for KernelContract<'a>
impl<'a> Unpin for KernelContract<'a>
impl<'a> UnsafeUnpin for KernelContract<'a>
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