Struct Context

Source
pub struct Context { /* private fields */ }
Expand description

Shared state between nodes and similar entities.

It is possible, but not usually necessary, to have several contexts in an application.

Ownership of the context is shared by the Context itself and all nodes created from it.

§Details

A context stores, among other things

  • command line arguments (used for e.g. name remapping)
  • middleware-specific data, e.g. the domain participant in DDS
  • the allocator used (left as the default by rclrs)

Implementations§

Source§

impl Context

Source

pub fn new(args: impl IntoIterator<Item = String>) -> Result<Self, RclrsError>

Creates a new context.

Usually, this would be called with std::env::args(), analogously to rclcpp::init(). See also the official “Passing ROS arguments to nodes via the command-line” tutorial.

Creating a context can fail in case the args contain invalid ROS arguments.

§Example
assert!(Context::new([]).is_ok());
let invalid_remapping = ["--ros-args", "-r", ":=:*/]"].map(String::from);
assert!(Context::new(invalid_remapping).is_err());
Source

pub fn ok(&self) -> bool

Checks if the context is still valid.

This will return false when a signal has caused the context to shut down (currently unimplemented).

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.