pub struct GateNode { /* private fields */ }Expand description
Gate node wrapper.
The Gate node acts as a valve that controls whether messages flow from its input
port to its output port. The gate state (open / closed / open for N messages) is
controlled at runtime by sending GateControl messages to its inputControl port.
§Example (v3.4.0+)
let gate = pipeline.create::<GateNode>()?;
// Wire camera output → gate input; consume from gate output.
cam_out.link(&gate.input()?)?;
let out_queue = gate.output()?.create_message_queue(8, false)?;
// Create a queue to send control messages at runtime.
let ctrl_queue = gate.inputControl()?.create_input_queue(4, false)?;
pipeline.start()?;
// Open the gate (passes all messages through).
ctrl_queue.send_buffer(&GateControl::open_all()?)?;
// Close the gate.
ctrl_queue.send_buffer(&GateControl::close()?)?;
// Open for exactly 5 messages at default fps.
ctrl_queue.send_buffer(&GateControl::open_n(5, -1)?)?;Implementations§
Source§impl GateNode
impl GateNode
Sourcepub fn set_run_on_host(&self, run_on_host: bool) -> Result<()>
pub fn set_run_on_host(&self, run_on_host: bool) -> Result<()>
Configure whether the Gate node runs on the host CPU or on device.
By default the node runs on device.
Sourcepub fn run_on_host(&self) -> Result<bool>
pub fn run_on_host(&self) -> Result<bool>
Returns true if the gate is currently configured to run on the host.
Trait Implementations§
Source§impl DeviceNode for GateNode
impl DeviceNode for GateNode
Auto Trait Implementations§
impl Freeze for GateNode
impl RefUnwindSafe for GateNode
impl Send for GateNode
impl Sync for GateNode
impl Unpin for GateNode
impl UnsafeUnpin for GateNode
impl UnwindSafe for GateNode
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