Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use tokio to replace async_std for plugins and backends. #1264

Merged
merged 3 commits into from
Aug 6, 2024

Conversation

evshary
Copy link
Contributor

@evshary evshary commented Jul 25, 2024

Related to #1257

@Mallets
Copy link
Member

Mallets commented Jul 25, 2024

@wyfo do you mind reviewing this PR?

@YuanYuYuan
Copy link
Contributor

BTW, if we decide to use another static Tokio runtime in the plugin and consequently remove the async-std dependency in zenoh-util, we can eliminate the outdated TimedEvent since it was used before Tokio-utils was available.

@Mallets
Copy link
Member

Mallets commented Jul 30, 2024

BTW, if we decide to use another static Tokio runtime in the plugin and consequently remove the async-std dependency in zenoh-util, we can eliminate the outdated TimedEvent since it was used before Tokio-utils was available.

We need to double check first wether TimedEvent is used in any plugin. In any case I'd consider the TimedEvent out of scope of this PR.

@YuanYuYuan
Copy link
Contributor

A quick search over our eclipse project shows we use TimedEvent in the zenoh-plugin-dds, zenoh-plugin-ros2dds, and zenoh-backend-influxdb. And I agree that we should open another PR dedicated to cleaning this last async-std dependence in zenoh.

@Mallets
Copy link
Member

Mallets commented Jul 31, 2024

A broader discussion should happen on wether every plugin has its own executor or a common executor can be used when statically linking the plugins.

@Mallets
Copy link
Member

Mallets commented Jul 31, 2024

Discussion happened on Discord and there is a common agreement to go for a single runtime in case of static linking.

To deal with static vs dynamic linking and symbols re-export S3 backend uses the dynamic_plugin feature to selectively activate ad-hoc support for each target. We should explore that approach and to eventually make it common to all plugins.

evshary added 2 commits August 5, 2024 14:07
Signed-off-by: ChenYing Kuo <evshary@gmail.com>
Signed-off-by: ChenYing Kuo <evshary@gmail.com>
@evshary evshary force-pushed the use_tokio_for_plugin branch from 12cfbce to 993b510 Compare August 5, 2024 07:44
Signed-off-by: ChenYing Kuo <evshary@gmail.com>
@evshary evshary force-pushed the use_tokio_for_plugin branch from 993b510 to 6d6f335 Compare August 5, 2024 12:56
@Mallets Mallets merged commit b7d42ef into eclipse-zenoh:dev/1.0.0 Aug 6, 2024
10 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants