Skip to content

Commit

Permalink
feat: remove is_available's node mut-ref dependency, also remove the …
Browse files Browse the repository at this point in the history
…!Sync constraint

on the future returned
  • Loading branch information
passchaos authored and m-dahl committed Apr 8, 2024
1 parent 1390252 commit 1758434
Show file tree
Hide file tree
Showing 8 changed files with 8 additions and 8 deletions.
2 changes: 1 addition & 1 deletion r2r/examples/action_client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
let ctx = r2r::Context::create()?;
let mut node = r2r::Node::create(ctx, "testnode", "")?;
let client = node.create_action_client::<Fibonacci::Action>("/fibonacci")?;
let action_server_available = node.is_available(&client)?;
let action_server_available = r2r::Node::is_available(&client)?;

// signal that we are done
let done = Arc::new(Mutex::new(false));
Expand Down
2 changes: 1 addition & 1 deletion r2r/examples/action_client_untyped.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut node = r2r::Node::create(ctx, "testnode", "")?;
let client =
node.create_action_client_untyped("/fibonacci", "example_interfaces/action/Fibonacci")?;
let action_server_available = node.is_available(&client)?;
let action_server_available = r2r::Node::is_available(&client)?;

// signal that we are done
let done = Arc::new(Mutex::new(false));
Expand Down
2 changes: 1 addition & 1 deletion r2r/examples/client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut node = r2r::Node::create(ctx, "testnode", "")?;
let client = node.create_client::<AddTwoInts::Service>("/add_two_ints")?;

let service_available = node.is_available(&client)?;
let service_available = r2r::Node::is_available(&client)?;

let mut pool = LocalPool::new();
let spawner = pool.spawner();
Expand Down
2 changes: 1 addition & 1 deletion r2r/examples/service.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut timer = node.create_wall_timer(std::time::Duration::from_millis(250))?;
let mut timer2 = node.create_wall_timer(std::time::Duration::from_millis(2000))?;
// wait for service to be available
let service_available = node.is_available(&client)?;
let service_available = r2r::Node::is_available(&client)?;
let mut pool = LocalPool::new();
let spawner = pool.spawner();

Expand Down
2 changes: 1 addition & 1 deletion r2r/examples/tokio_client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
use r2r::example_interfaces::srv::AddTwoInts;
let client = node.create_client::<AddTwoInts::Service>("/add_two_ints")?;
let mut timer = node.create_wall_timer(duration)?;
let waiting = node.is_available(&client)?;
let waiting = r2r::Node::is_available(&client)?;

let handle = tokio::task::spawn_blocking(move || loop {
node.spin_once(std::time::Duration::from_millis(100));
Expand Down
2 changes: 1 addition & 1 deletion r2r/examples/tokio_examples.rs
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ async fn client(arc_node: Arc<Mutex<r2r::Node>>) -> Result<(), r2r::Error> {
let mut node = arc_node.lock().unwrap();
let client = node.create_client::<AddTwoInts::Service>("/add_two_ints")?;
let timer = node.create_wall_timer(std::time::Duration::from_secs(2))?;
let service_available = node.is_available(&client)?;
let service_available = r2r::Node::is_available(&client)?;
(client, timer, service_available)
};
println!("waiting for service...");
Expand Down
2 changes: 1 addition & 1 deletion r2r/examples/untyped_client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
let client =
node.create_client_untyped("/add_two_ints", "example_interfaces/srv/AddTwoInts")?;

let service_available = node.is_available(&client)?;
let service_available = r2r::Node::is_available(&client)?;

let mut pool = LocalPool::new();
let spawner = pool.spawner();
Expand Down
2 changes: 1 addition & 1 deletion r2r/src/nodes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -707,7 +707,7 @@ impl Node {
/// `spin_once` until available, so spin_once must be called
/// repeatedly in order to get the wakeup.
pub fn is_available(
&mut self, client: &dyn IsAvailablePollable,
client: &dyn IsAvailablePollable,
) -> Result<impl Future<Output = Result<()>>> {
let (sender, receiver) = oneshot::channel();
client.register_poll_available(sender)?;
Expand Down

0 comments on commit 1758434

Please sign in to comment.