Skip to content

Commit 80903e3

Browse files
committed
expose entities global id
1 parent e1569bc commit 80903e3

File tree

7 files changed

+85
-28
lines changed

7 files changed

+85
-28
lines changed

Cargo.lock

Lines changed: 28 additions & 28 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/ext.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -467,6 +467,11 @@ impl AdvancedPublisher {
467467
Ok(py.None())
468468
}
469469

470+
#[getter]
471+
fn id(&self) -> PyResult<EntityGlobalId> {
472+
Ok(self.get_ref()?.id().into())
473+
}
474+
470475
#[getter]
471476
fn key_expr(&self) -> PyResult<KeyExpr> {
472477
Ok(self.get_ref()?.key_expr().clone().into())
@@ -545,6 +550,11 @@ impl AdvancedSubscriber {
545550
Ok(py.None())
546551
}
547552

553+
#[getter]
554+
fn id(&self) -> PyResult<EntityGlobalId> {
555+
Ok(self.get_ref()?.id().into())
556+
}
557+
548558
#[getter]
549559
fn key_expr(&self) -> PyResult<KeyExpr> {
550560
Ok(self.get_ref()?.key_expr().clone().into())

src/pubsub.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ use crate::{
2525
matching::{MatchingListener, MatchingStatus},
2626
qos::{CongestionControl, Priority, Reliability},
2727
sample::Sample,
28+
session::EntityGlobalId,
2829
time::Timestamp,
2930
utils::{generic, wait},
3031
};
@@ -48,6 +49,11 @@ impl Publisher {
4849
Ok(py.None())
4950
}
5051

52+
#[getter]
53+
fn id(&self) -> PyResult<EntityGlobalId> {
54+
Ok(self.get_ref()?.id().into())
55+
}
56+
5157
#[getter]
5258
fn key_expr(&self) -> PyResult<KeyExpr> {
5359
Ok(self.get_ref()?.key_expr().clone().into())
@@ -154,6 +160,11 @@ impl Subscriber {
154160
Ok(py.None())
155161
}
156162

163+
#[getter]
164+
fn id(&self) -> PyResult<EntityGlobalId> {
165+
Ok(self.get_ref()?.id().into())
166+
}
167+
157168
#[getter]
158169
fn key_expr(&self) -> PyResult<KeyExpr> {
159170
Ok(self.get_ref()?.key_expr().clone().into())

src/query.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,11 @@ impl Queryable {
285285
Ok(py.None())
286286
}
287287

288+
#[getter]
289+
fn id(&self) -> PyResult<EntityGlobalId> {
290+
Ok(self.get_ref()?.id().into())
291+
}
292+
288293
#[getter]
289294
fn key_expr(&self) -> PyResult<KeyExpr> {
290295
Ok(self.get_ref()?.key_expr().clone().into())
@@ -340,6 +345,11 @@ impl Querier {
340345
Ok(py.None())
341346
}
342347

348+
#[getter]
349+
fn id(&self) -> PyResult<EntityGlobalId> {
350+
Ok(self.get_ref()?.id().into())
351+
}
352+
343353
#[getter]
344354
fn key_expr(&self) -> PyResult<KeyExpr> {
345355
Ok(self.get_ref()?.key_expr().clone().into())

src/session.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,11 @@ impl Session {
5454
Ok(py.None())
5555
}
5656

57+
#[getter]
58+
fn id(&self) -> EntityGlobalId {
59+
self.0.id().into()
60+
}
61+
5762
fn zid(&self) -> PyResult<ZenohId> {
5863
Ok(self.0.zid().into())
5964
}

zenoh/__init__.pyi

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -492,6 +492,9 @@ class Publisher:
492492

493493
def __enter__(self) -> Self: ...
494494
def __exit__(self, *_args, **_kwargs): ...
495+
@_unstable
496+
@property
497+
def id(self) -> EntityGlobalId: ...
495498
@property
496499
def key_expr(self) -> KeyExpr: ...
497500
@property
@@ -618,6 +621,9 @@ class Queryable(Generic[_H]):
618621

619622
def __enter__(self) -> Self: ...
620623
def __exit__(self, *_args, **_kwargs): ...
624+
@_unstable
625+
@property
626+
def id(self) -> EntityGlobalId: ...
621627
@property
622628
def key_expr(self) -> KeyExpr: ...
623629
@property
@@ -643,6 +649,9 @@ class Querier:
643649

644650
def __enter__(self) -> Self: ...
645651
def __exit__(self, *_args, **_kwargs): ...
652+
@_unstable
653+
@property
654+
def id(self) -> EntityGlobalId: ...
646655
@property
647656
def key_expr(self) -> KeyExpr: ...
648657
@property
@@ -872,6 +881,9 @@ class Session:
872881
def __exit__(self, *_args, **_kwargs): ...
873882
@property
874883
def info(self) -> SessionInfo: ...
884+
@_unstable
885+
@property
886+
def id(self) -> EntityGlobalId: ...
875887
def zid(self) -> ZenohId:
876888
"""Returns the identifier of the current session. zid() is a convenient shortcut."""
877889

@@ -1145,6 +1157,9 @@ class Subscriber(Generic[_H]):
11451157

11461158
def __enter__(self) -> Self: ...
11471159
def __exit__(self, *_args, **_kwargs): ...
1160+
@_unstable
1161+
@property
1162+
def id(self) -> EntityGlobalId: ...
11481163
@property
11491164
def key_expr(self) -> KeyExpr: ...
11501165
@property

0 commit comments

Comments
 (0)