Skip to content

Commit 576a84a

Browse files
wyfoOlivierHecart
andauthored
expose entities global id (#602)
Co-authored-by: OlivierHecart <[email protected]>
1 parent dfec19c commit 576a84a

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, SourceInfo},
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())
@@ -161,6 +167,11 @@ impl Subscriber {
161167
Ok(py.None())
162168
}
163169

170+
#[getter]
171+
fn id(&self) -> PyResult<EntityGlobalId> {
172+
Ok(self.get_ref()?.id().into())
173+
}
174+
164175
#[getter]
165176
fn key_expr(&self) -> PyResult<KeyExpr> {
166177
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
@@ -286,6 +286,11 @@ impl Queryable {
286286
Ok(py.None())
287287
}
288288

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

349+
#[getter]
350+
fn id(&self) -> PyResult<EntityGlobalId> {
351+
Ok(self.get_ref()?.id().into())
352+
}
353+
344354
#[getter]
345355
fn key_expr(&self) -> PyResult<KeyExpr> {
346356
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
@@ -620,6 +623,9 @@ class Queryable(Generic[_H]):
620623

621624
def __enter__(self) -> Self: ...
622625
def __exit__(self, *_args, **_kwargs): ...
626+
@_unstable
627+
@property
628+
def id(self) -> EntityGlobalId: ...
623629
@property
624630
def key_expr(self) -> KeyExpr: ...
625631
@property
@@ -645,6 +651,9 @@ class Querier:
645651

646652
def __enter__(self) -> Self: ...
647653
def __exit__(self, *_args, **_kwargs): ...
654+
@_unstable
655+
@property
656+
def id(self) -> EntityGlobalId: ...
648657
@property
649658
def key_expr(self) -> KeyExpr: ...
650659
@property
@@ -880,6 +889,9 @@ class Session:
880889
def __exit__(self, *_args, **_kwargs): ...
881890
@property
882891
def info(self) -> SessionInfo: ...
892+
@_unstable
893+
@property
894+
def id(self) -> EntityGlobalId: ...
883895
def zid(self) -> ZenohId:
884896
"""Returns the identifier of the current session. zid() is a convenient shortcut."""
885897

@@ -1171,6 +1183,9 @@ class Subscriber(Generic[_H]):
11711183

11721184
def __enter__(self) -> Self: ...
11731185
def __exit__(self, *_args, **_kwargs): ...
1186+
@_unstable
1187+
@property
1188+
def id(self) -> EntityGlobalId: ...
11741189
@property
11751190
def key_expr(self) -> KeyExpr: ...
11761191
@property

0 commit comments

Comments
 (0)