eclipse-zenoh / zenoh

zenoh unifies data in motion, data in-use, data at rest and computations. It carefully blends traditional pub/sub with geo-distributed storages, queries and computations, while retaining a level of time and space efficiency that is well beyond any of the mainstream stacks.
https://zenoh.io
Other
1.52k stars 163 forks source link

Close builder #1576

Open yellowhatter opened 4 weeks ago

yellowhatter commented 4 weeks ago
  1. Close builder added with implementations for Session and Runtime
  2. Remove ephemeral ports in tests
github-actions[bot] commented 4 weeks ago

PR missing one of the required labels: {'bug', 'documentation', 'dependencies', 'new feature', 'enhancement', 'internal', 'breaking-change'}

yellowhatter commented 3 weeks ago

Ci failed because of this: https://github.com/eclipse-zenoh/zenoh/pull/1586

for TaskController::terminate_all_async change, repo search shows that there is no other projects using it through "internal" feature

YuanYuYuan commented 2 weeks ago

Hi @yellowhatter , here are my comments.

yellowhatter commented 2 weeks ago

Hi, @YuanYuYuan

  • These functions have no timeout, unlike their previous versions:

    • TransportManager::close
    • TerminatableTask::terminate

This is intentional. They used internal future timeout, and now I rely on top-level future timeout that can be modified by the user.

Mallets commented 2 weeks ago

Without entering the internal details of this particular PR, I think this kind of API addition should be coordinated with @milyin for all the bindings (C, C++, Python, etc.). Adding a timeout in the close builder/option is something we may want to expose as well in all other languages.

yellowhatter commented 2 weeks ago

Without entering the internal details of this particular PR, I think this kind of API addition should be coordinated with @milyin for all the bindings (C, C++, Python, etc.). Adding a timeout in the close builder/option is something we may want to expose as well in all other languages.

Sure. This change doesn't break the current bindings, and we will coordinate on it's support everywhere after this one get merged

YuanYuYuan commented 2 weeks ago

Yes. We could first discuss the use cases to see what options we want to expose. For instance, making the zenoh session terminate itself in a manner of nonblocking way if it has already been exit stage.

yellowhatter commented 4 days ago

for this: https://github.com/ZettaScaleLabs/rmw_zenoh/issues/35