Open yellowhatter opened 4 weeks ago
PR missing one of the required labels: {'bug', 'documentation', 'dependencies', 'new feature', 'enhancement', 'internal', 'breaking-change'}
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
Hi @yellowhatter , here are my comments.
TransportManager::close
TerminatableTask::terminate
SessionCloseBuilder
might be over engineering.
Instead, let's focus on configuring the close behavior through a well-structured SessionCloseBuilder::new(config)
, just like we do in the other builders.
This could include setting options like switching between a timeout-based blocking mode and a non-blocking mode.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.
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.
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
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.