Skip to content

Commit

Permalink
Revert "docs: add undeclaration on drop documentation for Rust"
Browse files Browse the repository at this point in the history
This reverts commit c9ff21c.
  • Loading branch information
wyfo committed Sep 12, 2024
1 parent c9ff21c commit 1e08474
Showing 1 changed file with 0 additions and 30 deletions.
30 changes: 0 additions & 30 deletions content/docs/migration_1.0/Rust.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,36 +107,6 @@ session.close().await.unwrap();
subscriber_task.await.unwrap()
```

## Callbacks run in background until session is closed

Session entities, e.g. subscribers, declared with callbacks are no more undeclared when they are dropped; there is no more need to keep a variable around when the intent is to have it run until the session is closed.

```rust
let session = zenoh::open(zenoh::config::peer()).await. unwrap();
session
.declare_subscriber("key/ expression")
.callback(|sample| { println!("Received: {} {:?}", sample. key_expr(), sample. payload()) })
.await
.unwrap();
// subscriber run in background until the session is closed
// no need to keep a variable around
```

If you still want the entity to be undeclared when dropped, you can simply use `with` instead of `callback`; it may just require you to annotate the callback, as type inference is not as good as with `callback` method.

```rust
let session = zenoh::open(zenoh::config::peer()).await. unwrap();
let subscriber = session
.declare_subscriber("key/ expression")
// annotation needed
.with(|sample: Sample| { println!("Received: {} {:?}", sample. key_expr(), sample. payload()) })
.await
.unwrap();
// subscriber is undeclared when dropped
```

*Going into details, a new method `undeclare_on_drop(bool)` – default to `true`, has been added to the builders, and `callback(cb)` is now simply a shortcut to `with(cb).undeclare_on_drop(false)`. You should rarely need to call this method directly however.*

## Value is gone, long live ZBytes

We have replaced `Value` with `ZBytes` and `Encoding` , and added a number of conversion implementations such that user structs can be serialized into `ZBytes`, sent via Zenoh, and de-serialized from `ZBytes` with ease.
Expand Down

0 comments on commit 1e08474

Please sign in to comment.