pub struct Ros2BridgeConfig {Show 13 fields
pub transport: Ros2TransportConfig,
pub topic: Option<String>,
pub message_type: Option<String>,
pub direction: Ros2Direction,
pub topics: Option<Vec<Ros2TopicConfig>>,
pub service: Option<String>,
pub service_type: Option<String>,
pub action: Option<String>,
pub action_type: Option<String>,
pub role: Option<Ros2Role>,
pub qos: Ros2QosConfig,
pub namespace: String,
pub node_name: Option<String>,
}Expand description
ROS2 bridge configuration for declarative ROS2 bridging.
This allows nodes to interact with ROS2 topics, services, and actions without writing any custom code. The framework spawns a bridge binary that handles the ROS2 DDS communication and Arrow data conversion.
Exactly one of topic, topics, service, or action must be set.
Fields§
§transport: Ros2TransportConfigNative transport used to communicate with the ROS2 graph.
Defaults to the existing DDS implementation.
topic: Option<String>ROS2 topic name (e.g. “/camera/image_raw”).
Mutually exclusive with topics, service, action.
message_type: Option<String>ROS2 message type (e.g. “sensor_msgs/Image”).
Required when topic is set.
direction: Ros2DirectionDirection: subscribe (ROS2 -> Dora) or publish (Dora -> ROS2).
Defaults to subscribe. Only used with topic/topics.
topics: Option<Vec<Ros2TopicConfig>>Multiple topics on a single ROS2 node context.
Mutually exclusive with topic, service, action.
service: Option<String>ROS2 service name (e.g. “/add_two_ints”).
Mutually exclusive with topic, topics, action.
service_type: Option<String>ROS2 service type (e.g. “example_interfaces/AddTwoInts”).
Required when service is set.
action: Option<String>ROS2 action name (e.g. “/navigate”).
Mutually exclusive with topic, topics, service.
action_type: Option<String>ROS2 action type (e.g. “nav2_msgs/NavigateToPose”).
Required when action is set.
role: Option<Ros2Role>Role: client or server. Required for service and action.
qos: Ros2QosConfigQoS policies applied to all topics (can be overridden per-topic).
namespace: StringROS2 namespace (default: “/”).
node_name: Option<String>ROS2 node name. Defaults to the dora node id.
Trait Implementations§
Source§impl Clone for Ros2BridgeConfig
impl Clone for Ros2BridgeConfig
Source§impl Debug for Ros2BridgeConfig
impl Debug for Ros2BridgeConfig
Source§impl Default for Ros2BridgeConfig
impl Default for Ros2BridgeConfig
Source§impl<'de> Deserialize<'de> for Ros2BridgeConfig
impl<'de> Deserialize<'de> for Ros2BridgeConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for Ros2BridgeConfig
impl JsonSchema for Ros2BridgeConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for Ros2BridgeConfig
impl RefUnwindSafe for Ros2BridgeConfig
impl Send for Ros2BridgeConfig
impl Sync for Ros2BridgeConfig
impl Unpin for Ros2BridgeConfig
impl UnsafeUnpin for Ros2BridgeConfig
impl UnwindSafe for Ros2BridgeConfig
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more