@@ -28,19 +28,19 @@ use crate::{
28
28
///
29
29
/// # Example
30
30
/// ```
31
- /// # use rclrs::{Context, NodeBuilder , Node, RclrsError};
32
- /// let context = Context::new([])? ;
31
+ /// # use rclrs::{Context, NodeOptions , Node, RclrsError};
32
+ /// let executor = Context::default().create_basic_executor() ;
33
33
/// // Building a node in a single expression
34
- /// let node = NodeBuilder ::new(&context, "foo_node").namespace("/bar").build( )?;
34
+ /// let node = executor.create_node(NodeOptions ::new("foo_node").namespace("/bar"))?;
35
35
/// assert_eq!(node.name(), "foo_node");
36
36
/// assert_eq!(node.namespace(), "/bar");
37
- /// // Building a node via Node::builder()
38
- /// let node = Node::builder(&context, "bar_node").build( )?;
37
+ /// // Building a node via NodeOptions
38
+ /// let node = executor.create_node(NodeOptions::new( "bar_node"))?;
39
39
/// assert_eq!(node.name(), "bar_node");
40
40
/// // Building a node step-by-step
41
- /// let mut builder = Node::builder(&context, "goose");
42
- /// builder = builder .namespace("/duck/duck");
43
- /// let node = builder.build( )?;
41
+ /// let mut options = NodeOptions::new( "goose");
42
+ /// options = options .namespace("/duck/duck");
43
+ /// let node = executor.create_node(options )?;
44
44
/// assert_eq!(node.fully_qualified_name(), "/duck/duck/goose");
45
45
/// # Ok::<(), RclrsError>(())
46
46
/// ```
@@ -75,17 +75,15 @@ impl NodeOptions {
75
75
///
76
76
/// # Example
77
77
/// ```
78
- /// # use rclrs::{Context, NodeOptions};
79
- /// let context = Context::new ();
78
+ /// # use rclrs::{Context, NodeOptions, RclrsError, RclReturnCode };
79
+ /// let executor = Context::default().create_basic_executor ();
80
80
/// // This is a valid node name
81
- /// assert!(NodeOptions::new("my_node").is_valid ());
81
+ /// assert!(executor.create_node( NodeOptions::new("my_node")).is_ok ());
82
82
/// // This is another valid node name (although not a good one)
83
- /// assert!(NodeBuilder ::new(&context, "_______").build( ).is_ok());
83
+ /// assert!(executor.create_node(NodeOptions ::new("_______")).is_ok());
84
84
/// // This is an invalid node name
85
85
/// assert!(matches!(
86
- /// NodeBuilder::new(&context, "röböt")
87
- /// .build()
88
- /// .unwrap_err(),
86
+ /// executor.create_node(NodeOptions::new("röböt")).unwrap_err(),
89
87
/// RclrsError::RclError { code: RclReturnCode::NodeInvalidName, .. }
90
88
/// ));
91
89
/// # Ok::<(), RclrsError>(())
@@ -128,25 +126,25 @@ impl NodeOptions {
128
126
///
129
127
/// # Example
130
128
/// ```
131
- /// # use rclrs::{Context, Node, RclrsError, RclReturnCode};
132
- /// let context = Context::new([])? ;
129
+ /// # use rclrs::{Context, Node, NodeOptions, RclrsError, RclReturnCode};
130
+ /// let executor = Context::default().create_basic_executor() ;
133
131
/// // This is a valid namespace
134
- /// let builder_ok_ns = Node::builder(&context, "my_node").namespace("/some/nested/namespace");
135
- /// assert!(builder_ok_ns.build( ).is_ok());
132
+ /// let options_ok_ns = NodeOptions::new( "my_node").namespace("/some/nested/namespace");
133
+ /// assert!(executor.create_node(options_ok_ns ).is_ok());
136
134
/// // This is an invalid namespace
137
135
/// assert!(matches!(
138
- /// Node::builder(&context, "my_node")
136
+ /// executor.create_node(
137
+ /// NodeOptions::new("my_node")
139
138
/// .namespace("/10_percent_luck/20_percent_skill")
140
- /// .build()
141
- /// .unwrap_err(),
139
+ /// ).unwrap_err(),
142
140
/// RclrsError::RclError { code: RclReturnCode::NodeInvalidNamespace, .. }
143
141
/// ));
144
142
/// // A missing forward slash at the beginning is automatically added
145
143
/// assert_eq!(
146
- /// Node::builder(&context, "my_node")
144
+ /// executor.create_node(
145
+ /// NodeOptions::new("my_node")
147
146
/// .namespace("foo")
148
- /// .build()?
149
- /// .namespace(),
147
+ /// )?.namespace(),
150
148
/// "/foo"
151
149
/// );
152
150
/// # Ok::<(), RclrsError>(())
@@ -167,21 +165,21 @@ impl NodeOptions {
167
165
///
168
166
/// # Example
169
167
/// ```
170
- /// # use rclrs::{Context, Node, NodeBuilder , RclrsError};
168
+ /// # use rclrs::{Context, Node, NodeOptions , RclrsError};
171
169
/// let context_args = ["--ros-args", "--remap", "__node:=your_node"]
172
170
/// .map(String::from);
173
- /// let context = Context::new(context_args)?;
171
+ /// let executor = Context::new(context_args)?.create_basic_executor() ;
174
172
/// // Ignore the global arguments:
175
- /// let node_without_global_args =
176
- /// rclrs::create_node_builder(&context, "my_node")
177
- /// .use_global_arguments(false)
178
- /// .build( )?;
173
+ /// let node_without_global_args = executor.create_node(
174
+ /// NodeOptions::new( "my_node")
175
+ /// .use_global_arguments(false)
176
+ /// )?;
179
177
/// assert_eq!(node_without_global_args.name(), "my_node");
180
178
/// // Do not ignore the global arguments:
181
- /// let node_with_global_args =
182
- /// rclrs::create_node_builder(&context, "my_other_node")
183
- /// .use_global_arguments(true)
184
- /// .build( )?;
179
+ /// let node_with_global_args = executor.create_node(
180
+ /// NodeOptions::new( "my_other_node")
181
+ /// .use_global_arguments(true)
182
+ /// )?;
185
183
/// assert_eq!(node_with_global_args.name(), "your_node");
186
184
/// # Ok::<(), RclrsError>(())
187
185
/// ```
@@ -202,18 +200,18 @@ impl NodeOptions {
202
200
///
203
201
/// # Example
204
202
/// ```
205
- /// # use rclrs::{Context, Node, NodeBuilder , RclrsError};
203
+ /// # use rclrs::{Context, Node, NodeOptions , RclrsError};
206
204
/// // Usually, this would change the name of "my_node" to "context_args_node":
207
205
/// let context_args = ["--ros-args", "--remap", "my_node:__node:=context_args_node"]
208
206
/// .map(String::from);
209
- /// let context = Context::new(context_args)?;
207
+ /// let executor = Context::new(context_args)?.create_basic_executor() ;
210
208
/// // But the node arguments will change it to "node_args_node":
211
209
/// let node_args = ["--ros-args", "--remap", "my_node:__node:=node_args_node"]
212
210
/// .map(String::from);
213
- /// let node =
214
- /// rclrs::create_node_builder(&context, "my_node")
215
- /// .arguments(node_args)
216
- /// .build( )?;
211
+ /// let node = executor.create_node(
212
+ /// NodeOptions::new( "my_node")
213
+ /// .arguments(node_args)
214
+ /// )?;
217
215
/// assert_eq!(node.name(), "node_args_node");
218
216
/// # Ok::<(), RclrsError>(())
219
217
/// ```
0 commit comments