-
Notifications
You must be signed in to change notification settings - Fork 172
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat!: make session an arc-like object (#1364)
* feat!: bind callback subscriber/queryable to session lifetime To determine if the entity is callback-only, the only elegant way I've found is the rule "handler is ZST means callback-only". Unless users starts writing fancy implementations, it should be correct 100% of the time. Session entities now uses weak references, except publishers because it would impact performances. Weak references also solves the issue of mass undeclarations before closing the session (when the session is an `Arc`), except for publishers. `Undeclarable` trait has been refactored a little bit to better match its use in the code. * fix: fix example * fix: fix example * fix: add missing comment about ZST trick * Update zenoh/src/api/key_expr.rs Co-authored-by: Luca Cominardi <[email protected]> * fix: formatting * fix: don't use `Weak` when undeclared on drop * feat!: make session an arc-like object The refactoring is quite deep, so this is the first (dirty) iteration which passes the tests. * fix: use weak everywhere! * fix: fix doc * feat: use pseudo-weak session with the same perf than arc * fix: fix resource cleanup * Fix typo * fix: align `MatchingListener` undeclaration on drop behavior * refactor: add comments about `WeakSession` * refactor: add comment for `Session` and `Session::close` (#1369) * refactor: add comment for `Session` and `Session::close` * Update zenoh/src/api/session.rs Co-authored-by: Luca Cominardi <[email protected]> * Update zenoh/src/api/session.rs Co-authored-by: Luca Cominardi <[email protected]> * Update zenoh/src/api/session.rs Co-authored-by: Luca Cominardi <[email protected]> * fix: don't run `Session::close` example * fix: fix `Session` example * fix: fix `Session` doc --------- Co-authored-by: Luca Cominardi <[email protected]> * feat: use builder method instead of handler type for undeclaration on drop (#1377) * refactor: add comment for `Session` and `Session::close` * Update zenoh/src/api/session.rs Co-authored-by: Luca Cominardi <[email protected]> * Update zenoh/src/api/session.rs Co-authored-by: Luca Cominardi <[email protected]> * Update zenoh/src/api/session.rs Co-authored-by: Luca Cominardi <[email protected]> * fix: don't run `Session::close` example * fix: fix `Session` example * fix: fix `Session` doc * feat: use builder method instead of handler type for undeclaration on drop --------- Co-authored-by: Luca Cominardi <[email protected]> * chore: merge main into dev/arcsession (#1378) * Fix bug with QueryTarget ALL_COMPLETE in clients and peers (#1358) * Fix bug with QueryTarget ALL_COMPLETE in clients and peers * Fix BEST_MATCHING queryable selection * Properly fix Query targeting in non writer side filtering situations * Improve fix * Update zenoh/src/net/routing/hat/linkstate_peer/queries.rs Co-authored-by: Joseph Perez <[email protected]> * Update zenoh/src/net/routing/hat/p2p_peer/queries.rs Co-authored-by: Joseph Perez <[email protected]> * Update zenoh/src/net/routing/hat/router/queries.rs Co-authored-by: Joseph Perez <[email protected]> * Update zenoh/src/net/routing/hat/client/queries.rs Co-authored-by: Joseph Perez <[email protected]> * Remove non used ordered-float dependency --------- Co-authored-by: Luca Cominardi <[email protected]> Co-authored-by: Joseph Perez <[email protected]> * fix: publisher should not be clonable (#1370) * made builder traits internal (#1376) * scaffolding macro added * builder traits made internal * doc corrected * cargo fmt * typo fix * typo fix * Fix bugs querying liveliness tokens (#1374) * Fix bug in liveliness get in client * Fix bug treating token interests replies from routers in peers * Peers propagate current token interests to remote peers with unfinalize initial declarations push * Don't register current interests declaration replies * Add comments * Add comments * Add comments --------- Co-authored-by: OlivierHecart <[email protected]> Co-authored-by: Luca Cominardi <[email protected]> Co-authored-by: Michael Ilyin <[email protected]> * Revert "chore: merge main into dev/arcsession (#1378)" (#1379) This reverts commit f3f5403. * fix: various fixes * fix: various fixes (2) * chore: merge branch 'main' into 'dev/arcsession' (#1384) * feat(zenoh_id): exposing into slice & try from slice Allowing users to create a ZenohId from a slice, using TryFrom, and also allowing users to convert a ZenohId into a [u8; 16]. * Add LivlinessSubscriber history option (#1355) * Close #1357 * feat(zenoh_id): replacing from slice with function --------- Co-authored-by: Darius Maitia <[email protected]> Co-authored-by: OlivierHecart <[email protected]> Co-authored-by: Luca Cominardi <[email protected]> * refactor: use `IntoHandler` associated const for undeclaration on drop * refactor: remove prelude * fix: fix config example * fix: fix zenoh-ext examples * fix: fix plugins examples * fix: fix merge * Fix shm test * Fix clippy warnings * refactor: use builder method for undeclaration on drop * fix: remove useless lifetimes * fix: add missing unstable flag * feat: add tuple implementation for IntoHandler --------- Co-authored-by: Joseph Perez <[email protected]> Co-authored-by: OlivierHecart <[email protected]> Co-authored-by: Michael Ilyin <[email protected]> Co-authored-by: Darius Maitia <[email protected]>
- Loading branch information
1 parent
5798600
commit dd1fb45
Showing
75 changed files
with
1,286 additions
and
1,725 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,7 +12,6 @@ | |
// ZettaScale Zenoh Team, <[email protected]> | ||
// | ||
use zenoh::{ | ||
prelude::*, | ||
shm::{ | ||
AllocAlignment, BlockOn, Deallocate, Defragment, GarbageCollect, PosixShmProviderBackend, | ||
ShmProviderBuilder, POSIX_PROTOCOL_ID, | ||
|
@@ -27,7 +26,7 @@ async fn main() { | |
run().await.unwrap() | ||
} | ||
|
||
async fn run() -> ZResult<()> { | ||
async fn run() -> zenoh::Result<()> { | ||
// create an SHM backend... | ||
// NOTE: For extended PosixShmProviderBackend API please check z_posix_shm_provider.rs | ||
let backend = PosixShmProviderBackend::builder() | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,7 +12,7 @@ | |
// ZettaScale Zenoh Team, <[email protected]> | ||
// | ||
use clap::Parser; | ||
use zenoh::{key_expr::KeyExpr, prelude::*, Config}; | ||
use zenoh::{key_expr::KeyExpr, Config}; | ||
use zenoh_examples::CommonArgs; | ||
use zenoh_ext::SubscriberForward; | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,7 +12,7 @@ | |
// ZettaScale Zenoh Team, <[email protected]> | ||
// | ||
use clap::Parser; | ||
use zenoh::{prelude::*, session::ZenohId}; | ||
use zenoh::session::ZenohId; | ||
use zenoh_examples::CommonArgs; | ||
|
||
#[tokio::main] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,7 +12,7 @@ | |
// ZettaScale Zenoh Team, <[email protected]> | ||
// | ||
use clap::Parser; | ||
use zenoh::{key_expr::KeyExpr, prelude::*, Config}; | ||
use zenoh::{key_expr::KeyExpr, Config}; | ||
use zenoh_examples::CommonArgs; | ||
|
||
#[tokio::main] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,7 +12,7 @@ | |
// ZettaScale Zenoh Team, <[email protected]> | ||
// | ||
use clap::Parser; | ||
use zenoh::{key_expr::keyexpr, prelude::*, qos::CongestionControl, Config}; | ||
use zenoh::{key_expr::keyexpr, qos::CongestionControl, Config, Wait}; | ||
use zenoh_examples::CommonArgs; | ||
|
||
fn main() { | ||
|
@@ -21,7 +21,7 @@ fn main() { | |
|
||
let (config, express) = parse_args(); | ||
|
||
let session = zenoh::open(config).wait().unwrap().into_arc(); | ||
let session = zenoh::open(config).wait().unwrap(); | ||
|
||
// The key expression to read the data from | ||
let key_expr_ping = keyexpr::new("test/ping").unwrap(); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,7 +12,7 @@ | |
// ZettaScale Zenoh Team, <[email protected]> | ||
// | ||
use clap::Parser; | ||
use zenoh::{key_expr::KeyExpr, prelude::*, Config}; | ||
use zenoh::{key_expr::KeyExpr, Config}; | ||
use zenoh_examples::CommonArgs; | ||
|
||
#[tokio::main] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,7 +12,7 @@ | |
// ZettaScale Zenoh Team, <[email protected]> | ||
// | ||
use clap::Parser; | ||
use zenoh::{key_expr::KeyExpr, prelude::*, Config}; | ||
use zenoh::{key_expr::KeyExpr, Config}; | ||
use zenoh_examples::CommonArgs; | ||
|
||
#[tokio::main] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,7 +12,7 @@ | |
// ZettaScale Zenoh Team, <[email protected]> | ||
// | ||
use clap::Parser; | ||
use zenoh::{key_expr::KeyExpr, prelude::*, sample::SampleKind, Config}; | ||
use zenoh::{key_expr::KeyExpr, sample::SampleKind, Config}; | ||
use zenoh_examples::CommonArgs; | ||
|
||
#[tokio::main] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.