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

remove internal APIs from public interface #806

Open
milyin opened this issue Mar 10, 2024 · 3 comments
Open

remove internal APIs from public interface #806

milyin opened this issue Mar 10, 2024 · 3 comments
Labels
api sync Synchronize API with other bindings

Comments

@milyin
Copy link
Contributor

milyin commented Mar 10, 2024

Describe the release item

We should not expose internal APIs or at least should explicitly mark them as internal in the documentation (e.g. APIs needed for plugin support only)

The list of APIs to be checked

keyexpr -> get_nonwild_prefix
keyexpr -> is_wild
keyexpr -> chunks
keyexpr -> strip_prefix

publication.rs: Priority::MIN, Priority::MAX, Priority::NUM

WhatAmI matcher

ZenohId -> size, max_size, rand, into_keyexpr, to_le_bytes

@milyin milyin added release Part of the next release and removed release Part of the next release labels Mar 10, 2024
@milyin
Copy link
Contributor Author

milyin commented Mar 12, 2024

Consider using #[doc(hidden)] attribute for them

@wyfo
Copy link

wyfo commented Apr 29, 2024

WhatAmIMatcher is used as argument for zenoh::scout, so I think it can be removed from the list?

@milyin
Copy link
Contributor Author

milyin commented May 28, 2024

All functionality which is needed by some external crates but should not be part of public API should be moved into traits available through "internal" mod. Here is an example: #1046

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api sync Synchronize API with other bindings
Projects
Status: Backlog
Development

No branches or pull requests

2 participants