diff --git a/docs/api.rst b/docs/api.rst
index f94201741..617a96054 100644
--- a/docs/api.rst
+++ b/docs/api.rst
@@ -577,10 +577,9 @@ Functions
.. doxygenfunction:: z_put
.. doxygenfunction:: z_delete
-.. doxygenfunction:: z_declare_publisher
+.. doxygenfunction:: z_publisher_declare
.. doxygenfunction:: z_publisher_put
.. doxygenfunction:: z_publisher_delete
-.. doxygenfunction:: z_undeclare_publisher
.. doxygenfunction:: z_publisher_keyexpr
.. doxygenfunction:: z_publisher_id
@@ -602,7 +601,9 @@ Functions
.. doxygenfunction:: zc_publisher_get_matching_status
.. doxygenfunction:: zc_publisher_matching_listener_declare
-.. doxygenfunction:: zc_publisher_matching_listener_undeclare
+.. doxygenfunction:: zc_publisher_matching_listener_declare_background
+
+.. doxygenfunction:: zc_publisher_matching_listener_drop
Subscription
============
@@ -627,8 +628,8 @@ Types
Functions
---------
-.. doxygenfunction:: z_declare_subscriber
-.. doxygenfunction:: z_undeclare_subscriber
+.. doxygenfunction:: z_subscriber_declare
+.. doxygenfunction:: z_subscriber_declare_background
.. doxygenfunction:: z_subscriber_keyexpr
.. doxygenfunction:: z_subscriber_drop
@@ -686,7 +687,7 @@ Types
Functions
---------
.. doxygenfunction:: z_declare_queryable
-.. doxygenfunction:: z_undeclare_queryable
+.. doxygenfunction:: z_queryable_declare_background
.. doxygenfunction:: z_queryable_id
.. doxygenfunction:: z_queryable_options_default
@@ -835,7 +836,8 @@ Types
Functions
---------
-.. doxygenfunction:: zc_liveliness_declare_subscriber
+.. doxygenfunction:: zc_liveliness_subscriber_declare
+.. doxygenfunction:: zc_liveliness_subscriber_declare_background
.. doxygenfunction:: zc_liveliness_get
.. doxygenfunction:: zc_liveliness_declare_token
@@ -862,8 +864,7 @@ Types
Functions
---------
-.. doxygenfunction:: ze_declare_publication_cache
-.. doxygenfunction:: ze_undeclare_publication_cache
+.. doxygenfunction:: ze_publication_cache_declare
.. doxygenfunction:: ze_publication_cache_drop
.. doxygenfunction:: ze_publication_cache_loan
@@ -886,8 +887,8 @@ Types
Functions
---------
-.. doxygenfunction:: ze_declare_querying_subscriber
-.. doxygenfunction:: ze_undeclare_querying_subscriber
+.. doxygenfunction:: ze_querying_subscriber_declare
+.. doxygenfunction:: ze_querying_subscriber_declare_background
.. doxygenfunction:: ze_querying_subscriber_get
.. doxygenfunction:: ze_querying_subscriber_drop
diff --git a/docs/examples.rst b/docs/examples.rst
index ae9bf5ddb..ac9bb875b 100644
--- a/docs/examples.rst
+++ b/docs/examples.rst
@@ -81,7 +81,7 @@ Subscribe
z_view_keyexpr_from_string(&key_expr, "key/expression");
z_owned_subscriber_t sub;
- if (z_declare_subscriber(&sub, z_loan(s), z_loan(key_expr) z_move(callback), NULL) != 0) {
+ if (z_subscriber_declare(&sub, z_loan(s), z_loan(key_expr) z_move(callback), NULL) != 0) {
printf("Unable to create Zenoh subscriber.\n");
z_drop(z_move(s));
exit(-1);
@@ -92,7 +92,7 @@ Subscribe
c = fgetc(stdin);
}
- z_undeclare_subscriber(z_move(sub));
+ z_drop(z_move(sub));
z_drop(z_move(s));
return 0;
}
@@ -205,7 +205,7 @@ Queryable
c = fgetc(stdin);
}
- z_undeclare_queryable(z_move(qable));
+ z_drop(z_move(qable));
z_drop(z_move(s));
return 0;
}
\ No newline at end of file
diff --git a/examples/z_ping.c b/examples/z_ping.c
index ceca9d885..77e867054 100644
--- a/examples/z_ping.c
+++ b/examples/z_ping.c
@@ -46,11 +46,11 @@ int main(int argc, char** argv) {
z_view_keyexpr_t pong;
z_view_keyexpr_from_str_unchecked(&pong, "test/pong");
z_owned_publisher_t pub;
- z_declare_publisher(&pub, z_loan(session), z_loan(ping), NULL);
+ z_publisher_declare(&pub, z_loan(session), z_loan(ping), NULL);
z_owned_closure_sample_t respond;
z_closure(&respond, callback, drop, (void*)(&pub));
z_owned_subscriber_t sub;
- z_declare_subscriber(&sub, z_loan(session), z_loan(pong), z_move(respond), NULL);
+ z_subscriber_declare(&sub, z_loan(session), z_loan(pong), z_move(respond), NULL);
uint8_t* data = z_malloc(args.size);
for (int i = 0; i < args.size; i++) {
data[i] = i % 10;
@@ -90,8 +90,8 @@ int main(int argc, char** argv) {
z_mutex_unlock(z_loan_mut(mutex));
z_free(results);
z_free(data);
- z_undeclare_subscriber(z_move(sub));
- z_undeclare_publisher(z_move(pub));
+ z_drop(z_move(sub));
+ z_drop(z_move(pub));
z_drop(z_move(mutex));
z_drop(z_move(session));
}
diff --git a/examples/z_ping_shm.c b/examples/z_ping_shm.c
index 6afd9e84c..e6fe35100 100644
--- a/examples/z_ping_shm.c
+++ b/examples/z_ping_shm.c
@@ -64,11 +64,11 @@ int main(int argc, char** argv) {
z_view_keyexpr_t pong;
z_view_keyexpr_from_str_unchecked(&pong, "test/pong");
z_owned_publisher_t pub;
- z_declare_publisher(&pub, z_loan(session), z_loan(ping), NULL);
+ z_publisher_declare(&pub, z_loan(session), z_loan(ping), NULL);
z_owned_closure_sample_t respond;
z_closure(&respond, callback, drop, (void*)(&pub));
z_owned_subscriber_t sub;
- z_declare_subscriber(&sub, z_loan(session), z_loan(pong), z_move(respond), NULL);
+ z_subscriber_declare(&sub, z_loan(session), z_loan(pong), z_move(respond), NULL);
// Create SHM Provider
z_alloc_alignment_t alignment = {0};
@@ -133,8 +133,8 @@ int main(int argc, char** argv) {
}
z_mutex_unlock(z_loan_mut(mutex));
z_free(results);
- z_undeclare_subscriber(z_move(sub));
- z_undeclare_publisher(z_move(pub));
+ z_drop(z_move(sub));
+ z_drop(z_move(pub));
z_drop(z_move(mutex));
z_drop(z_move(session));
diff --git a/examples/z_pong.c b/examples/z_pong.c
index d0b18fa88..9f14d1add 100644
--- a/examples/z_pong.c
+++ b/examples/z_pong.c
@@ -14,7 +14,7 @@ void callback(z_loaned_sample_t* sample, void* context) {
}
void drop(void* context) {
z_owned_publisher_t* pub = (z_owned_publisher_t*)context;
- z_undeclare_publisher(z_move(*pub));
+ z_drop(z_move(*pub));
// A note on lifetimes:
// here, `sub` takes ownership of `pub` and will drop it before returning from its own `drop`,
// which makes passing a pointer to the stack safe as long as `sub` is dropped in a scope where `pub` is still
@@ -34,16 +34,15 @@ int main(int argc, char** argv) {
z_view_keyexpr_t pong;
z_view_keyexpr_from_str_unchecked(&pong, "test/pong");
z_owned_publisher_t pub;
- z_declare_publisher(&pub, z_loan(session), z_loan(pong), NULL);
+ z_publisher_declare(&pub, z_loan(session), z_loan(pong), NULL);
z_owned_closure_sample_t respond;
z_closure(&respond, callback, drop, (void*)&pub);
- z_owned_subscriber_t sub;
- z_declare_subscriber(&sub, z_loan(session), z_loan(ping), z_move(respond), NULL);
+ z_subscriber_declare_background(z_loan(session), z_loan(ping), z_move(respond), NULL);
while (1) {
z_sleep_s(1);
}
- z_undeclare_subscriber(z_move(sub));
+
z_drop(z_move(session));
}
diff --git a/examples/z_pub.c b/examples/z_pub.c
index fd0d3be2a..ec74cf3e8 100644
--- a/examples/z_pub.c
+++ b/examples/z_pub.c
@@ -54,7 +54,7 @@ int main(int argc, char** argv) {
z_owned_publisher_t pub;
z_view_keyexpr_t ke;
z_view_keyexpr_from_str(&ke, args.keyexpr);
- if (z_declare_publisher(&pub, z_loan(s), z_loan(ke), NULL) < 0) {
+ if (z_publisher_declare(&pub, z_loan(s), z_loan(ke), NULL) < 0) {
printf("Unable to declare Publisher for key expression!\n");
exit(-1);
}
@@ -89,11 +89,11 @@ int main(int argc, char** argv) {
}
#if defined(Z_FEATURE_UNSTABLE_API)
if (args.add_matching_listener) {
- zc_publisher_matching_listener_undeclare(z_move(listener));
+ z_drop(z_move(listener));
}
#endif
- z_undeclare_publisher(z_move(pub));
+ z_drop(z_move(pub));
z_drop(z_move(s));
return 0;
}
diff --git a/examples/z_pub_attachment.c b/examples/z_pub_attachment.c
index a8324bdab..5e3743950 100644
--- a/examples/z_pub_attachment.c
+++ b/examples/z_pub_attachment.c
@@ -48,7 +48,7 @@ int main(int argc, char** argv) {
z_view_keyexpr_t ke;
z_view_keyexpr_from_str(&ke, args.keyexpr);
z_owned_publisher_t pub;
- if (z_declare_publisher(&pub, z_loan(s), z_loan(ke), NULL)) {
+ if (z_publisher_declare(&pub, z_loan(s), z_loan(ke), NULL)) {
printf("Unable to declare Publisher for key expression!\n");
exit(-1);
}
@@ -88,7 +88,7 @@ int main(int argc, char** argv) {
z_publisher_put(z_loan(pub), z_move(payload), &options);
}
- z_undeclare_publisher(z_move(pub));
+ z_drop(z_move(pub));
z_drop(z_move(s));
diff --git a/examples/z_pub_cache.c b/examples/z_pub_cache.c
index f7a9da84e..7858ac0a9 100644
--- a/examples/z_pub_cache.c
+++ b/examples/z_pub_cache.c
@@ -56,7 +56,7 @@ int main(int argc, char** argv) {
z_view_keyexpr_t ke;
z_view_keyexpr_from_str(&ke, args.keyexpr);
- if (ze_declare_publication_cache(&pub_cache, z_loan(s), z_loan(ke), &pub_cache_opts) != Z_OK) {
+ if (ze_publication_cache_declare(&pub_cache, z_loan(s), z_loan(ke), &pub_cache_opts) != Z_OK) {
printf("Unable to declare publication cache for key expression!\n");
exit(-1);
}
@@ -73,7 +73,7 @@ int main(int argc, char** argv) {
z_put(z_loan(s), z_loan(ke), z_move(payload), NULL);
}
- ze_undeclare_publication_cache(z_move(pub_cache));
+ z_drop(z_move(pub_cache));
z_drop(z_move(s));
return 0;
diff --git a/examples/z_pub_shm.c b/examples/z_pub_shm.c
index c0fef86ab..896043fae 100644
--- a/examples/z_pub_shm.c
+++ b/examples/z_pub_shm.c
@@ -55,7 +55,7 @@ int main(int argc, char** argv) {
z_owned_publisher_t pub;
z_view_keyexpr_t ke;
z_view_keyexpr_from_str(&ke, args.keyexpr);
- if (z_declare_publisher(&pub, z_loan(s), z_loan(ke), NULL) < 0) {
+ if (z_publisher_declare(&pub, z_loan(s), z_loan(ke), NULL) < 0) {
printf("Unable to declare Publisher for key expression!\n");
exit(-1);
}
@@ -111,11 +111,11 @@ int main(int argc, char** argv) {
#if defined(Z_FEATURE_UNSTABLE_API)
if (args.add_matching_listener) {
- zc_publisher_matching_listener_undeclare(z_move(listener));
+ z_drop(z_move(listener));
}
#endif
- z_undeclare_publisher(z_move(pub));
+ z_drop(z_move(pub));
z_drop(z_move(s));
z_drop(z_move(provider));
diff --git a/examples/z_pub_shm_thr.c b/examples/z_pub_shm_thr.c
index b88435a3d..8fa4e5de1 100644
--- a/examples/z_pub_shm_thr.c
+++ b/examples/z_pub_shm_thr.c
@@ -53,7 +53,7 @@ int main(int argc, char **argv) {
z_owned_publisher_t pub;
z_view_keyexpr_t ke;
z_view_keyexpr_from_str(&ke, keyexpr);
- if (z_declare_publisher(&pub, z_loan(s), z_loan(ke), &options)) {
+ if (z_publisher_declare(&pub, z_loan(s), z_loan(ke), &options)) {
printf("Unable to declare publisher for key expression!\n");
exit(-1);
}
@@ -88,7 +88,7 @@ int main(int argc, char **argv) {
z_publisher_put(z_loan(pub), z_move(payload), NULL);
}
- z_undeclare_publisher(z_move(pub));
+ z_drop(z_move(pub));
z_drop(z_move(s));
z_drop(z_move(shm));
diff --git a/examples/z_pub_thr.c b/examples/z_pub_thr.c
index 456212990..19a057a92 100644
--- a/examples/z_pub_thr.c
+++ b/examples/z_pub_thr.c
@@ -48,7 +48,7 @@ int main(int argc, char** argv) {
z_owned_publisher_t pub;
z_view_keyexpr_t ke;
z_view_keyexpr_from_str(&ke, keyexpr);
- if (z_declare_publisher(&pub, z_loan(s), z_loan(ke), &options)) {
+ if (z_publisher_declare(&pub, z_loan(s), z_loan(ke), &options)) {
printf("Unable to declare publisher for key expression!\n");
exit(-1);
}
@@ -62,7 +62,7 @@ int main(int argc, char** argv) {
z_publisher_put(z_loan(pub), z_move(to_send), NULL);
}
- z_undeclare_publisher(z_move(pub));
+ z_drop(z_move(pub));
z_drop(z_move(s));
}
diff --git a/examples/z_pull.c b/examples/z_pull.c
index 82bf80f05..d8c6d5b5a 100644
--- a/examples/z_pull.c
+++ b/examples/z_pull.c
@@ -59,7 +59,7 @@ int main(int argc, char** argv) {
z_view_keyexpr_from_str(&ke, args.keyexpr);
z_owned_subscriber_t sub;
- if (z_declare_subscriber(&sub, z_loan(s), z_loan(ke), z_move(closure), NULL) < 0) {
+ if (z_subscriber_declare(&sub, z_loan(s), z_loan(ke), z_move(closure), NULL) < 0) {
printf("Unable to declare subscriber.\n");
exit(-1);
}
@@ -80,7 +80,7 @@ int main(int argc, char** argv) {
}
}
}
- z_undeclare_subscriber(z_move(sub));
+ z_drop(z_move(sub));
z_drop(z_move(s));
return 0;
}
diff --git a/examples/z_query_sub.c b/examples/z_query_sub.c
index 3dfc61c07..be9ae30b8 100644
--- a/examples/z_query_sub.c
+++ b/examples/z_query_sub.c
@@ -59,7 +59,7 @@ int main(int argc, char** argv) {
z_closure(&callback, data_handler, NULL, NULL);
printf("Declaring querying subscriber on '%s'...\n", args.keyexpr);
ze_owned_querying_subscriber_t sub;
- if (ze_declare_querying_subscriber(&sub, z_loan(s), z_loan(ke), z_move(callback), &sub_opts) < 0) {
+ if (ze_querying_subscriber_declare(&sub, z_loan(s), z_loan(ke), z_move(callback), &sub_opts) < 0) {
printf("Unable to declare querying subscriber.\n");
exit(-1);
}
@@ -69,7 +69,7 @@ int main(int argc, char** argv) {
z_sleep_s(1);
}
- ze_undeclare_querying_subscriber(z_move(sub));
+ z_drop(z_move(sub));
z_drop(z_move(s));
return 0;
diff --git a/examples/z_queryable.c b/examples/z_queryable.c
index cc912d4ef..1d1da13f4 100644
--- a/examples/z_queryable.c
+++ b/examples/z_queryable.c
@@ -96,7 +96,7 @@ int main(int argc, char **argv) {
z_sleep_s(1);
}
- z_undeclare_queryable(z_move(qable));
+ z_drop(z_move(qable));
z_drop(z_move(s));
return 0;
}
diff --git a/examples/z_queryable_shm.c b/examples/z_queryable_shm.c
index a86fb5bd9..b235490c9 100644
--- a/examples/z_queryable_shm.c
+++ b/examples/z_queryable_shm.c
@@ -133,7 +133,7 @@ int main(int argc, char **argv) {
}
}
- z_undeclare_queryable(z_move(qable));
+ z_drop(z_move(qable));
z_drop(z_move(s));
z_drop(z_move(layout));
z_drop(z_move(provider));
diff --git a/examples/z_queryable_with_channels.c b/examples/z_queryable_with_channels.c
index b55f5cd54..22269bc15 100644
--- a/examples/z_queryable_with_channels.c
+++ b/examples/z_queryable_with_channels.c
@@ -90,7 +90,7 @@ int main(int argc, char** argv) {
z_drop(z_move(oquery));
}
- z_undeclare_queryable(z_move(qable));
+ z_drop(z_move(qable));
z_drop(z_move(handler));
z_drop(z_move(s));
return 0;
diff --git a/examples/z_sub.c b/examples/z_sub.c
index 158af6d0d..0d823c686 100644
--- a/examples/z_sub.c
+++ b/examples/z_sub.c
@@ -70,7 +70,7 @@ int main(int argc, char **argv) {
z_closure(&callback, data_handler, NULL, NULL);
printf("Declaring Subscriber on '%s'...\n", args.keyexpr);
z_owned_subscriber_t sub;
- if (z_declare_subscriber(&sub, z_loan(s), z_loan(ke), z_move(callback), NULL) < 0) {
+ if (z_subscriber_declare(&sub, z_loan(s), z_loan(ke), z_move(callback), NULL) < 0) {
printf("Unable to declare subscriber.\n");
exit(-1);
}
@@ -80,7 +80,7 @@ int main(int argc, char **argv) {
z_sleep_s(1);
}
- z_undeclare_subscriber(z_move(sub));
+ z_drop(z_move(sub));
z_drop(z_move(s));
return 0;
}
diff --git a/examples/z_sub_attachment.c b/examples/z_sub_attachment.c
index b5c7fbed2..6178b15db 100644
--- a/examples/z_sub_attachment.c
+++ b/examples/z_sub_attachment.c
@@ -74,7 +74,7 @@ int main(int argc, char** argv) {
z_closure(&callback, data_handler, NULL, NULL);
printf("Declaring Subscriber on '%s'...\n", args.keyexpr);
z_owned_subscriber_t sub;
- if (z_declare_subscriber(&sub, z_loan(s), z_loan(ke), z_move(callback), NULL)) {
+ if (z_subscriber_declare(&sub, z_loan(s), z_loan(ke), z_move(callback), NULL)) {
printf("Unable to declare subscriber.\n");
exit(-1);
}
@@ -84,7 +84,7 @@ int main(int argc, char** argv) {
z_sleep_s(1);
}
- z_undeclare_subscriber(z_move(sub));
+ z_drop(z_move(sub));
z_drop(z_move(s));
return 0;
}
diff --git a/examples/z_sub_liveliness.c b/examples/z_sub_liveliness.c
index 9653e731f..f2efd65f1 100644
--- a/examples/z_sub_liveliness.c
+++ b/examples/z_sub_liveliness.c
@@ -60,7 +60,7 @@ int main(int argc, char** argv) {
z_owned_closure_sample_t callback;
z_closure(&callback, data_handler, NULL, NULL);
z_owned_subscriber_t sub;
- if (zc_liveliness_declare_subscriber(&sub, z_loan(s), z_loan(ke), z_move(callback), NULL) < 0) {
+ if (zc_liveliness_subscriber_declare(&sub, z_loan(s), z_loan(ke), z_move(callback), NULL) < 0) {
printf("Unable to declare liveliness subscriber.\n");
exit(-1);
}
@@ -70,7 +70,7 @@ int main(int argc, char** argv) {
z_sleep_s(1);
}
- z_undeclare_subscriber(z_move(sub));
+ z_drop(z_move(sub));
z_drop(z_move(s));
return 0;
}
diff --git a/examples/z_sub_shm.c b/examples/z_sub_shm.c
index 507bf3412..e49eb8b6a 100644
--- a/examples/z_sub_shm.c
+++ b/examples/z_sub_shm.c
@@ -87,7 +87,7 @@ int main(int argc, char **argv) {
z_closure(&callback, data_handler, NULL, NULL);
printf("Declaring Subscriber on '%s'...\n", keyexpr);
z_owned_subscriber_t sub;
- if (z_declare_subscriber(&sub, z_loan(s), z_loan(ke), z_move(callback), NULL) < 0) {
+ if (z_subscriber_declare(&sub, z_loan(s), z_loan(ke), z_move(callback), NULL) < 0) {
printf("Unable to declare subscriber.\n");
exit(-1);
}
@@ -101,7 +101,7 @@ int main(int argc, char **argv) {
}
}
- z_undeclare_subscriber(z_move(sub));
+ z_drop(z_move(sub));
z_drop(z_move(s));
return 0;
}
diff --git a/examples/z_sub_thr.c b/examples/z_sub_thr.c
index 68ec6e59e..f5c595fbe 100644
--- a/examples/z_sub_thr.c
+++ b/examples/z_sub_thr.c
@@ -95,8 +95,7 @@ int main(int argc, char **argv) {
z_stats_t *context = z_stats_make();
z_owned_closure_sample_t callback;
z_closure(&callback, on_sample, drop_stats, context);
- z_owned_subscriber_t sub;
- if (z_declare_subscriber(&sub, z_loan(s), z_loan(declared_ke), z_move(callback), NULL)) {
+ if (z_subscriber_declare_background(z_loan(s), z_loan(declared_ke), z_move(callback), NULL)) {
printf("Unable to create subscriber.\n");
exit(-1);
}
@@ -106,7 +105,6 @@ int main(int argc, char **argv) {
z_sleep_s(1);
}
- z_undeclare_subscriber(z_move(sub));
z_undeclare_keyexpr(z_move(declared_ke), z_loan(s));
z_drop(z_move(s));
return 0;
diff --git a/include/zenoh_commons.h b/include/zenoh_commons.h
index b3f1db69c..4b0aecf43 100644
--- a/include/zenoh_commons.h
+++ b/include/zenoh_commons.h
@@ -16,6 +16,32 @@
#define ALIGN(n)
#define ZENOHC_API
#endif
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief Allocation errors
+ */
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+typedef enum z_alloc_error_t {
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+ /**
+ * Defragmentation needed.
+ */
+ Z_ALLOC_ERROR_NEED_DEFRAGMENT,
+#endif
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+ /**
+ * The provider is out of memory.
+ */
+ Z_ALLOC_ERROR_OUT_OF_MEMORY,
+#endif
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+ /**
+ * Other error.
+ */
+ Z_ALLOC_ERROR_OTHER,
+#endif
+} z_alloc_error_t;
+#endif
typedef enum z_congestion_control_t {
/**
* Messages are not dropped in case of congestion.
@@ -77,6 +103,26 @@ typedef enum z_keyexpr_intersection_level_t {
Z_KEYEXPR_INTERSECTION_LEVEL_EQUALS = 3,
} z_keyexpr_intersection_level_t;
#endif
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief Layouting errors
+ */
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+typedef enum z_layout_error_t {
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+ /**
+ * Layout arguments are incorrect.
+ */
+ Z_LAYOUT_ERROR_INCORRECT_LAYOUT_ARGS,
+#endif
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+ /**
+ * Layout incompatible with provider.
+ */
+ Z_LAYOUT_ERROR_PROVIDER_INCOMPATIBLE_LAYOUT,
+#endif
+} z_layout_error_t;
+#endif
/**
* The priority of zenoh messages.
*/
@@ -169,6 +215,52 @@ typedef enum z_whatami_t {
Z_WHATAMI_PEER = 2,
Z_WHATAMI_CLIENT = 4,
} z_whatami_t;
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief Status of SHM buffer allocation operation.
+ */
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+typedef enum zc_buf_alloc_status_t {
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+ /**
+ * Allocation ok
+ */
+ ZC_BUF_ALLOC_STATUS_OK = 0,
+#endif
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+ /**
+ * Allocation error
+ */
+ ZC_BUF_ALLOC_STATUS_ALLOC_ERROR = 1,
+#endif
+} zc_buf_alloc_status_t;
+#endif
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief Status of SHM buffer layouting + allocation operation.
+ */
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+typedef enum zc_buf_layout_alloc_status_t {
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+ /**
+ * Allocation ok
+ */
+ ZC_BUF_LAYOUT_ALLOC_STATUS_OK = 0,
+#endif
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+ /**
+ * Allocation error
+ */
+ ZC_BUF_LAYOUT_ALLOC_STATUS_ALLOC_ERROR = 1,
+#endif
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+ /**
+ * Layouting error
+ */
+ ZC_BUF_LAYOUT_ALLOC_STATUS_LAYOUT_ERROR = 2,
+#endif
+} zc_buf_layout_alloc_status_t;
+#endif
/**
* The locality of samples to be received by subscribers or targeted by publishers.
*/
@@ -237,19 +329,56 @@ typedef enum zc_reply_keyexpr_t {
ZC_REPLY_KEYEXPR_MATCHING_QUERY = 1,
} zc_reply_keyexpr_t;
#endif
-typedef struct z_moved_alloc_layout_t {
- struct z_owned_alloc_layout_t _this;
-} z_moved_alloc_layout_t;
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief A result of SHM buffer allocation operation.
+ */
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+typedef struct z_buf_alloc_result_t {
+ enum zc_buf_alloc_status_t status;
+ z_owned_shm_mut_t buf;
+ enum z_alloc_error_t error;
+} z_buf_alloc_result_t;
+#endif
typedef int8_t z_result_t;
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief An AllocAlignment.
+ */
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+typedef struct z_alloc_alignment_t {
+ uint8_t pow;
+} z_alloc_alignment_t;
+#endif
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+typedef struct zc_threadsafe_context_data_t {
+ void *ptr;
+} zc_threadsafe_context_data_t;
+#endif
+/**
+ * A tread-safe droppable context.
+ * Contexts are idiomatically used in C together with callback interfaces to deliver associated state
+ * information to each callback.
+ *
+ * This is a thread-safe context - the associated callbacks may be executed concurrently with the same
+ * zc_context_t instance. In other words, all the callbacks associated with this context data MUST be
+ * thread-safe.
+ *
+ * Once moved to zenoh-c ownership, this context is guaranteed to execute delete_fn when deleted.The
+ * delete_fn is guaranteed to be executed only once at some point of time after the last associated
+ * callback call returns.
+ * NOTE: if user doesn't pass the instance of this context to zenoh-c, the delete_fn callback won't
+ * be executed.
+ */
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+typedef struct zc_threadsafe_context_t {
+ struct zc_threadsafe_context_data_t context;
+ void (*delete_fn)(void*);
+} zc_threadsafe_context_t;
+#endif
typedef struct z_moved_bytes_t {
struct z_owned_bytes_t _this;
} z_moved_bytes_t;
-typedef struct z_moved_shm_t {
- struct z_owned_shm_t _this;
-} z_moved_shm_t;
-typedef struct z_moved_shm_mut_t {
- struct z_owned_shm_mut_t _this;
-} z_moved_shm_mut_t;
typedef struct z_moved_slice_t {
struct z_owned_slice_t _this;
} z_moved_slice_t;
@@ -265,9 +394,41 @@ typedef struct ALIGN(8) z_bytes_slice_iterator_t {
typedef struct z_moved_bytes_writer_t {
struct z_owned_bytes_writer_t _this;
} z_moved_bytes_writer_t;
-typedef struct z_moved_chunk_alloc_result_t {
- struct z_owned_chunk_alloc_result_t _this;
-} z_moved_chunk_alloc_result_t;
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief Unique segment identifier.
+ */
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+typedef uint32_t z_segment_id_t;
+#endif
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief Chunk id within it's segment.
+ */
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+typedef uint32_t z_chunk_id_t;
+#endif
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief A ChunkDescriptor.
+ */
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+typedef struct z_chunk_descriptor_t {
+ z_segment_id_t segment;
+ z_chunk_id_t chunk;
+ size_t len;
+} z_chunk_descriptor_t;
+#endif
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief An AllocatedChunk.
+ */
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+typedef struct z_allocated_chunk_t {
+ struct z_chunk_descriptor_t descriptpr;
+ void *data;
+} z_allocated_chunk_t;
+#endif
/**
* Monotonic clock
*/
@@ -422,7 +583,7 @@ typedef struct z_owned_closure_zid_t {
/**
* A callback function.
*/
- void (*call)(const struct z_id_t *z_id, void *context);
+ void (*call)(const z_id_t *z_id, void *context);
/**
* An optional function that will be called upon closure drop.
*/
@@ -444,46 +605,6 @@ typedef struct z_moved_condvar_t {
typedef struct z_moved_config_t {
struct z_owned_config_t _this;
} z_moved_config_t;
-typedef struct z_moved_encoding_t {
- struct z_owned_encoding_t _this;
-} z_moved_encoding_t;
-/**
- * Options passed to the `z_declare_publisher()` function.
- */
-typedef struct z_publisher_options_t {
- /**
- * Default encoding for messages put by this publisher.
- */
- struct z_moved_encoding_t *encoding;
- /**
- * The congestion control to apply when routing messages from this publisher.
- */
- enum z_congestion_control_t congestion_control;
- /**
- * The priority of messages from this publisher.
- */
- enum z_priority_t priority;
- /**
- * If true, Zenoh will not wait to batch this message with others to reduce the bandwith.
- */
- bool is_express;
-#if defined(Z_FEATURE_UNSTABLE_API)
- /**
- * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
- *
- * The publisher reliability.
- */
- enum z_reliability_t reliability;
-#endif
-#if defined(Z_FEATURE_UNSTABLE_API)
- /**
- * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
- *
- * The allowed destination for this publisher.
- */
- enum zc_locality_t allowed_destination;
-#endif
-} z_publisher_options_t;
/**
* Options passed to the `z_declare_queryable()` function.
*/
@@ -493,15 +614,6 @@ typedef struct z_queryable_options_t {
*/
bool complete;
} z_queryable_options_t;
-/**
- * Options passed to the `z_declare_subscriber()` function.
- */
-typedef struct z_subscriber_options_t {
- /**
- * Dummy field to avoid having fieldless struct
- */
- uint8_t _0;
-} z_subscriber_options_t;
/**
* Options passed to the `z_delete()` function.
*/
@@ -539,6 +651,9 @@ typedef struct z_delete_options_t {
enum zc_locality_t allowed_destination;
#endif
} z_delete_options_t;
+typedef struct z_moved_encoding_t {
+ struct z_owned_encoding_t _this;
+} z_moved_encoding_t;
typedef struct z_moved_fifo_handler_query_t {
struct z_owned_fifo_handler_query_t _this;
} z_moved_fifo_handler_query_t;
@@ -554,9 +669,6 @@ typedef struct z_moved_fifo_handler_sample_t {
typedef struct z_query_consolidation_t {
enum z_consolidation_mode_t mode;
} z_query_consolidation_t;
-typedef struct z_moved_source_info_t {
- struct z_owned_source_info_t _this;
-} z_moved_source_info_t;
/**
* Options passed to the `z_get()` function.
*/
@@ -611,7 +723,7 @@ typedef struct z_get_options_t {
*
* The source info for the query.
*/
- struct z_moved_source_info_t *source_info;
+ z_moved_source_info_t *source_info;
#endif
/**
* An optional attachment to attach to the query.
@@ -628,9 +740,6 @@ typedef struct z_moved_hello_t {
typedef struct z_moved_keyexpr_t {
struct z_owned_keyexpr_t _this;
} z_moved_keyexpr_t;
-typedef struct z_moved_memory_layout_t {
- struct z_owned_memory_layout_t _this;
-} z_moved_memory_layout_t;
typedef struct z_moved_mutex_t {
struct z_owned_mutex_t _this;
} z_moved_mutex_t;
@@ -640,6 +749,43 @@ typedef struct z_moved_mutex_t {
typedef struct z_open_options_t {
uint8_t _dummy;
} z_open_options_t;
+/**
+ * Options passed to the `z_publisher_declare()` function.
+ */
+typedef struct z_publisher_options_t {
+ /**
+ * Default encoding for messages put by this publisher.
+ */
+ struct z_moved_encoding_t *encoding;
+ /**
+ * The congestion control to apply when routing messages from this publisher.
+ */
+ enum z_congestion_control_t congestion_control;
+ /**
+ * The priority of messages from this publisher.
+ */
+ enum z_priority_t priority;
+ /**
+ * If true, Zenoh will not wait to batch this message with others to reduce the bandwith.
+ */
+ bool is_express;
+#if defined(Z_FEATURE_UNSTABLE_API)
+ /**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ *
+ * The publisher reliability.
+ */
+ enum z_reliability_t reliability;
+#endif
+#if defined(Z_FEATURE_UNSTABLE_API)
+ /**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ *
+ * The allowed destination for this publisher.
+ */
+ enum zc_locality_t allowed_destination;
+#endif
+} z_publisher_options_t;
/**
* Represents the set of options that can be applied to the delete operation by a previously declared publisher,
* whenever issued via `z_publisher_delete()`.
@@ -671,7 +817,7 @@ typedef struct z_publisher_put_options_t {
*
* The source info for the publication.
*/
- struct z_moved_source_info_t *source_info;
+ z_moved_source_info_t *source_info;
#endif
/**
* The attachment to attach to the publication.
@@ -724,7 +870,7 @@ typedef struct z_put_options_t {
*
* The source info for the message.
*/
- struct z_moved_source_info_t *source_info;
+ z_moved_source_info_t *source_info;
#endif
/**
* The attachment to this message.
@@ -765,7 +911,7 @@ typedef struct z_query_reply_options_t {
*
* The source info for the reply.
*/
- struct z_moved_source_info_t *source_info;
+ z_moved_source_info_t *source_info;
#endif
/**
* The attachment to this reply.
@@ -799,7 +945,7 @@ typedef struct z_query_reply_del_options_t {
*
* The source info for the reply.
*/
- struct z_moved_source_info_t *source_info;
+ z_moved_source_info_t *source_info;
#endif
/**
* The attachment to this reply.
@@ -853,15 +999,46 @@ typedef struct z_scout_options_t {
typedef struct z_moved_session_t {
struct z_owned_session_t _this;
} z_moved_session_t;
-typedef struct z_moved_shm_client_t {
- struct z_owned_shm_client_t _this;
-} z_moved_shm_client_t;
-typedef struct z_moved_shm_client_storage_t {
- struct z_owned_shm_client_storage_t _this;
-} z_moved_shm_client_storage_t;
-typedef struct z_moved_shm_provider_t {
- struct z_owned_shm_provider_t _this;
-} z_moved_shm_provider_t;
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief Callbacks for ShmSegment.
+ */
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+typedef struct zc_shm_segment_callbacks_t {
+ uint8_t *(*map_fn)(z_chunk_id_t chunk_id, void *context);
+} zc_shm_segment_callbacks_t;
+#endif
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief An ShmSegment.
+ */
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+typedef struct z_shm_segment_t {
+ struct zc_threadsafe_context_t context;
+ struct zc_shm_segment_callbacks_t callbacks;
+} z_shm_segment_t;
+#endif
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief Callback for ShmClient.
+ */
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+typedef struct zc_shm_client_callbacks_t {
+ bool (*attach_fn)(struct z_shm_segment_t *out_segment, z_segment_id_t segment_id, void *context);
+} zc_shm_client_callbacks_t;
+#endif
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief A result of SHM buffer layouting + allocation operation.
+ */
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+typedef struct z_buf_layout_alloc_result_t {
+ enum zc_buf_layout_alloc_status_t status;
+ z_owned_shm_mut_t buf;
+ enum z_alloc_error_t alloc_error;
+ enum z_layout_error_t layout_error;
+} z_buf_layout_alloc_result_t;
+#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
* @brief Unique protocol identifier.
@@ -871,9 +1048,59 @@ typedef struct z_moved_shm_provider_t {
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
typedef uint32_t z_protocol_id_t;
#endif
+/**
+ * A non-tread-safe droppable context.
+ * Contexts are idiomatically used in C together with callback interfaces to deliver associated state
+ * information to each callback.
+ *
+ * This is a non-thread-safe context - zenoh-c guarantees that associated callbacks that share the same
+ * zc_context_t instance will never be executed concurrently. In other words, all the callbacks associated
+ * with this context data are not required to be thread-safe.
+ *
+ * NOTE: Remember that the same callback interfaces associated with different zc_context_t instances can
+ * still be executed concurrently. The exact behavior depends on user's application, but we strongly
+ * discourage our users from pinning to some specific behavior unless they _really_ understand what they
+ * are doing.
+ *
+ * Once moved to zenoh-c ownership, this context is guaranteed to execute delete_fn when deleted. The
+ * delete_fn is guaranteed to be executed only once at some point of time after the last associated
+ * callback call returns.
+ * NOTE: if user doesn't pass the instance of this context to zenoh-c, the delete_fn callback won't
+ * be executed.
+ */
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+typedef struct zc_context_t {
+ void *context;
+ void (*delete_fn)(void*);
+} zc_context_t;
+#endif
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief Callbacks for ShmProviderBackend.
+ */
+#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
+typedef struct zc_shm_provider_backend_callbacks_t {
+ void (*alloc_fn)(z_owned_chunk_alloc_result_t *out_result,
+ const z_loaned_memory_layout_t *layout,
+ void *context);
+ void (*free_fn)(const struct z_chunk_descriptor_t *chunk, void *context);
+ size_t (*defragment_fn)(void *context);
+ size_t (*available_fn)(void *context);
+ void (*layout_for_fn)(z_owned_memory_layout_t *layout, void *context);
+} zc_shm_provider_backend_callbacks_t;
+#endif
typedef struct z_moved_string_array_t {
struct z_owned_string_array_t _this;
} z_moved_string_array_t;
+/**
+ * Options passed to the `z_subscriber_declare()` function.
+ */
+typedef struct z_subscriber_options_t {
+ /**
+ * Dummy field to avoid having fieldless struct
+ */
+ uint8_t _0;
+} z_subscriber_options_t;
typedef struct z_moved_subscriber_t {
struct z_owned_subscriber_t _this;
} z_moved_subscriber_t;
@@ -958,6 +1185,15 @@ typedef struct zc_owned_closure_matching_status_t {
void (*drop)(void *context);
} zc_owned_closure_matching_status_t;
#endif
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief Loaned closure.
+ */
+#if defined(Z_FEATURE_UNSTABLE_API)
+typedef struct zc_loaned_closure_matching_status_t {
+ size_t _0[3];
+} zc_loaned_closure_matching_status_t;
+#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
* @brief Moved closure.
@@ -978,34 +1214,25 @@ typedef struct zc_liveliness_declaration_options_t {
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
- * @brief The options for `zc_liveliness_declare_subscriber()`
+ * @brief The options for `zc_liveliness_get()`
*/
#if defined(Z_FEATURE_UNSTABLE_API)
-typedef struct zc_liveliness_subscriber_options_t {
- bool history;
-} zc_liveliness_subscriber_options_t;
+typedef struct zc_liveliness_get_options_t {
+ uint32_t timeout_ms;
+} zc_liveliness_get_options_t;
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
- * @brief The options for `zc_liveliness_get()`
+ * @brief The options for `zc_liveliness_subscriber_declare()`
*/
#if defined(Z_FEATURE_UNSTABLE_API)
-typedef struct zc_liveliness_get_options_t {
- uint32_t timeout_ms;
-} zc_liveliness_get_options_t;
+typedef struct zc_liveliness_subscriber_options_t {
+ bool history;
+} zc_liveliness_subscriber_options_t;
#endif
-typedef struct zc_moved_liveliness_token_t {
- struct zc_owned_liveliness_token_t _this;
-} zc_moved_liveliness_token_t;
-typedef struct zc_moved_matching_listener_t {
- struct zc_owned_matching_listener_t _this;
-} zc_moved_matching_listener_t;
-typedef struct zc_moved_shm_client_list_t {
- struct zc_owned_shm_client_list_t _this;
-} zc_moved_shm_client_list_t;
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
- * @brief Options passed to the `ze_declare_publication_cache()` function.
+ * @brief Options passed to the `ze_publication_cache_declare()` function.
*/
#if defined(Z_FEATURE_UNSTABLE_API)
typedef struct ze_publication_cache_options_t {
@@ -1036,7 +1263,7 @@ typedef struct ze_publication_cache_options_t {
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
* @brief A set of options that can be applied to a querying subscriber,
- * upon its declaration via `ze_declare_querying_subscriber()`.
+ * upon its declaration via `ze_querying_subscriber_declare()`.
*
*/
#if defined(Z_FEATURE_UNSTABLE_API)
@@ -1071,19 +1298,6 @@ typedef struct ze_querying_subscriber_options_t {
uint64_t query_timeout_ms;
} ze_querying_subscriber_options_t;
#endif
-typedef struct ze_moved_publication_cache_t {
- struct ze_owned_publication_cache_t _this;
-} ze_moved_publication_cache_t;
-/**
- * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
- * @brief A loaned Zenoh publication cache.
- */
-typedef struct ALIGN(8) ze_loaned_publication_cache_t {
- uint8_t _0[96];
-} ze_loaned_publication_cache_t;
-typedef struct ze_moved_querying_subscriber_t {
- struct ze_owned_querying_subscriber_t _this;
-} ze_moved_querying_subscriber_t;
typedef struct ze_moved_serializer_t {
struct ze_owned_serializer_t _this;
} ze_moved_serializer_t;
@@ -1106,40 +1320,39 @@ ZENOHC_API extern const unsigned int Z_SHM_POSIX_PROTOCOL_ID;
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
void z_alloc_layout_alloc(struct z_buf_alloc_result_t *out_result,
- const struct z_loaned_alloc_layout_t *layout);
+ const z_loaned_alloc_layout_t *layout);
#endif
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
void z_alloc_layout_alloc_gc(struct z_buf_alloc_result_t *out_result,
- const struct z_loaned_alloc_layout_t *layout);
+ const z_loaned_alloc_layout_t *layout);
#endif
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
void z_alloc_layout_alloc_gc_defrag(struct z_buf_alloc_result_t *out_result,
- const struct z_loaned_alloc_layout_t *layout);
+ const z_loaned_alloc_layout_t *layout);
#endif
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
void z_alloc_layout_alloc_gc_defrag_blocking(struct z_buf_alloc_result_t *out_result,
- const struct z_loaned_alloc_layout_t *layout);
+ const z_loaned_alloc_layout_t *layout);
#endif
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
void z_alloc_layout_alloc_gc_defrag_dealloc(struct z_buf_alloc_result_t *out_result,
- const struct z_loaned_alloc_layout_t *layout);
+ const z_loaned_alloc_layout_t *layout);
#endif
/**
* Deletes Alloc Layout
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
-ZENOHC_API void z_alloc_layout_drop(struct z_moved_alloc_layout_t *this_);
+ZENOHC_API void z_alloc_layout_drop(z_moved_alloc_layout_t *this_);
#endif
/**
* Borrows Alloc Layout
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
-ZENOHC_API
-const struct z_loaned_alloc_layout_t *z_alloc_layout_loan(const struct z_owned_alloc_layout_t *this_);
+ZENOHC_API const z_loaned_alloc_layout_t *z_alloc_layout_loan(const z_owned_alloc_layout_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -1147,15 +1360,15 @@ const struct z_loaned_alloc_layout_t *z_alloc_layout_loan(const struct z_owned_a
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-z_result_t z_alloc_layout_new(struct z_owned_alloc_layout_t *this_,
- const struct z_loaned_shm_provider_t *provider,
+z_result_t z_alloc_layout_new(z_owned_alloc_layout_t *this_,
+ const z_loaned_shm_provider_t *provider,
size_t size,
struct z_alloc_alignment_t alignment);
#endif
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
z_result_t z_alloc_layout_threadsafe_alloc_gc_defrag_async(struct z_buf_alloc_result_t *out_result,
- const struct z_loaned_alloc_layout_t *layout,
+ const z_loaned_alloc_layout_t *layout,
struct zc_threadsafe_context_t result_context,
void (*result_callback)(void*,
struct z_buf_alloc_result_t*));
@@ -1225,7 +1438,7 @@ z_result_t z_bytes_from_buf(struct z_owned_bytes_t *this_,
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
z_result_t z_bytes_from_shm(struct z_owned_bytes_t *this_,
- struct z_moved_shm_t *shm);
+ z_moved_shm_t *shm);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -1234,7 +1447,7 @@ z_result_t z_bytes_from_shm(struct z_owned_bytes_t *this_,
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
z_result_t z_bytes_from_shm_mut(struct z_owned_bytes_t *this_,
- struct z_moved_shm_mut_t *shm);
+ z_moved_shm_mut_t *shm);
#endif
/**
* Converts a slice into `z_owned_bytes_t`.
@@ -1361,7 +1574,7 @@ bool z_bytes_slice_iterator_next(struct z_bytes_slice_iterator_t *this_,
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
z_result_t z_bytes_to_loaned_shm(const struct z_loaned_bytes_t *this_,
- const struct z_loaned_shm_t **dst);
+ const z_loaned_shm_t **dst);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -1373,7 +1586,7 @@ z_result_t z_bytes_to_loaned_shm(const struct z_loaned_bytes_t *this_,
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
z_result_t z_bytes_to_mut_loaned_shm(struct z_loaned_bytes_t *this_,
- struct z_loaned_shm_t **dst);
+ z_loaned_shm_t **dst);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -1385,7 +1598,7 @@ z_result_t z_bytes_to_mut_loaned_shm(struct z_loaned_bytes_t *this_,
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
z_result_t z_bytes_to_owned_shm(const struct z_loaned_bytes_t *this_,
- struct z_owned_shm_t *dst);
+ z_owned_shm_t *dst);
#endif
/**
* Converts data into an owned slice.
@@ -1458,7 +1671,7 @@ z_result_t z_bytes_writer_write_all(struct z_loaned_bytes_writer_t *this_,
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_chunk_alloc_result_drop(struct z_moved_chunk_alloc_result_t *this_);
+void z_chunk_alloc_result_drop(z_moved_chunk_alloc_result_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -1466,7 +1679,7 @@ void z_chunk_alloc_result_drop(struct z_moved_chunk_alloc_result_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-const struct z_loaned_chunk_alloc_result_t *z_chunk_alloc_result_loan(const struct z_owned_chunk_alloc_result_t *this_);
+const z_loaned_chunk_alloc_result_t *z_chunk_alloc_result_loan(const z_owned_chunk_alloc_result_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -1474,7 +1687,7 @@ const struct z_loaned_chunk_alloc_result_t *z_chunk_alloc_result_loan(const stru
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_chunk_alloc_result_new_error(struct z_owned_chunk_alloc_result_t *this_,
+void z_chunk_alloc_result_new_error(z_owned_chunk_alloc_result_t *this_,
enum z_alloc_error_t alloc_error);
#endif
/**
@@ -1483,7 +1696,7 @@ void z_chunk_alloc_result_new_error(struct z_owned_chunk_alloc_result_t *this_,
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-z_result_t z_chunk_alloc_result_new_ok(struct z_owned_chunk_alloc_result_t *this_,
+z_result_t z_chunk_alloc_result_new_ok(z_owned_chunk_alloc_result_t *this_,
struct z_allocated_chunk_t allocated_chunk);
#endif
/**
@@ -1633,7 +1846,7 @@ const struct z_loaned_closure_sample_t *z_closure_sample_loan(const struct z_own
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
void z_closure_zid(struct z_owned_closure_zid_t *this_,
- void (*call)(const struct z_id_t *z_id, void *context),
+ void (*call)(const z_id_t *z_id, void *context),
void (*drop)(void *context),
void *context);
#endif
@@ -1644,7 +1857,7 @@ void z_closure_zid(struct z_owned_closure_zid_t *this_,
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
void z_closure_zid_call(const struct z_loaned_closure_zid_t *closure,
- const struct z_id_t *z_id);
+ const z_id_t *z_id);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -1726,24 +1939,6 @@ ZENOHC_API
z_result_t z_declare_keyexpr(struct z_owned_keyexpr_t *this_,
const struct z_loaned_session_t *session,
const struct z_loaned_keyexpr_t *key_expr);
-/**
- * Constructs and declares a publisher for the given key expression.
- *
- * Data can be put and deleted with this publisher with the help of the
- * `z_publisher_put()` and `z_publisher_delete()` functions.
- *
- * @param this_: An unitilized location in memory where publisher will be constructed.
- * @param session: The Zenoh session.
- * @param key_expr: The key expression to publish.
- * @param options: Additional options for the publisher.
- *
- * @return 0 in case of success, negative error code otherwise.
- */
-ZENOHC_API
-z_result_t z_declare_publisher(struct z_owned_publisher_t *this_,
- const struct z_loaned_session_t *session,
- const struct z_loaned_keyexpr_t *key_expr,
- struct z_publisher_options_t *options);
/**
* Constructs a Queryable for the given key expression.
*
@@ -1761,23 +1956,6 @@ z_result_t z_declare_queryable(struct z_owned_queryable_t *this_,
const struct z_loaned_keyexpr_t *key_expr,
struct z_moved_closure_query_t *callback,
struct z_queryable_options_t *options);
-/**
- * Constructs and declares a subscriber for a given key expression. Dropping subscriber
- *
- * @param this_: An uninitialized location in memory, where subscriber will be constructed.
- * @param session: The zenoh session.
- * @param key_expr: The key expression to subscribe.
- * @param callback: The callback function that will be called each time a data matching the subscribed expression is received.
- * @param _options: The options to be passed to the subscriber declaration.
- *
- * @return 0 in case of success, negative error code otherwise (in this case subscriber will be in its gravestone state).
- */
-ZENOHC_API
-z_result_t z_declare_subscriber(struct z_owned_subscriber_t *this_,
- const struct z_loaned_session_t *session,
- const struct z_loaned_keyexpr_t *key_expr,
- struct z_moved_closure_sample_t *callback,
- struct z_subscriber_options_t *_options);
/**
* Sends request to delete data on specified key expression (used when working with Zenoh storages ).
*
@@ -2297,7 +2475,7 @@ ZENOHC_API const struct z_loaned_encoding_t *z_encoding_zenoh_uint8(void);
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-uint32_t z_entity_global_id_eid(const struct z_entity_global_id_t *this_);
+uint32_t z_entity_global_id_eid(const z_entity_global_id_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -2305,7 +2483,7 @@ uint32_t z_entity_global_id_eid(const struct z_entity_global_id_t *this_);
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-struct z_id_t z_entity_global_id_zid(const struct z_entity_global_id_t *this_);
+z_id_t z_entity_global_id_zid(const z_entity_global_id_t *this_);
#endif
/**
* Constructs send and recieve ends of the fifo channel
@@ -2457,7 +2635,7 @@ ZENOHC_API enum z_whatami_t z_hello_whatami(const struct z_loaned_hello_t *this_
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-struct z_id_t z_hello_zid(const struct z_loaned_hello_t *this_);
+z_id_t z_hello_zid(const struct z_loaned_hello_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -2465,7 +2643,7 @@ struct z_id_t z_hello_zid(const struct z_loaned_hello_t *this_);
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-void z_id_to_string(const struct z_id_t *zid,
+void z_id_to_string(const z_id_t *zid,
struct z_owned_string_t *dst);
#endif
/**
@@ -2506,19 +2684,19 @@ z_result_t z_info_routers_zid(const struct z_loaned_session_t *session,
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-struct z_id_t z_info_zid(const struct z_loaned_session_t *session);
+z_id_t z_info_zid(const struct z_loaned_session_t *session);
#endif
/**
* Returns ``true`` if `this` is valid.
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
-ZENOHC_API bool z_internal_alloc_layout_check(const struct z_owned_alloc_layout_t *this_);
+ZENOHC_API bool z_internal_alloc_layout_check(const z_owned_alloc_layout_t *this_);
#endif
/**
* Constructs Alloc Layout in its gravestone value.
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
-ZENOHC_API void z_internal_alloc_layout_null(struct z_owned_alloc_layout_t *this_);
+ZENOHC_API void z_internal_alloc_layout_null(z_owned_alloc_layout_t *this_);
#endif
/**
* Returns ``true`` if `this_` is in a valid state, ``false`` if it is in a gravestone state.
@@ -2542,7 +2720,7 @@ ZENOHC_API void z_internal_bytes_writer_null(struct z_owned_bytes_writer_t *this
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-bool z_internal_chunk_alloc_result_check(const struct z_owned_chunk_alloc_result_t *this_);
+bool z_internal_chunk_alloc_result_check(const z_owned_chunk_alloc_result_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -2550,7 +2728,7 @@ bool z_internal_chunk_alloc_result_check(const struct z_owned_chunk_alloc_result
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_internal_chunk_alloc_result_null(struct z_owned_chunk_alloc_result_t *this_);
+void z_internal_chunk_alloc_result_null(z_owned_chunk_alloc_result_t *this_);
#endif
/**
* Returns ``true`` if closure is valid, ``false`` if it is in gravestone state.
@@ -2673,7 +2851,7 @@ ZENOHC_API void z_internal_keyexpr_null(struct z_owned_keyexpr_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-bool z_internal_memory_layout_check(const struct z_owned_memory_layout_t *this_);
+bool z_internal_memory_layout_check(const z_owned_memory_layout_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -2681,7 +2859,7 @@ bool z_internal_memory_layout_check(const struct z_owned_memory_layout_t *this_)
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_internal_memory_layout_null(struct z_owned_memory_layout_t *this_);
+void z_internal_memory_layout_null(z_owned_memory_layout_t *this_);
#endif
/**
* Returns ``true`` if mutex is valid, ``false`` otherwise.
@@ -2780,7 +2958,7 @@ ZENOHC_API void z_internal_session_null(struct z_owned_session_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-bool z_internal_shm_check(const struct z_owned_shm_t *this_);
+bool z_internal_shm_check(const z_owned_shm_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -2788,7 +2966,7 @@ bool z_internal_shm_check(const struct z_owned_shm_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-bool z_internal_shm_client_check(const struct z_owned_shm_client_t *this_);
+bool z_internal_shm_client_check(const z_owned_shm_client_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -2796,7 +2974,7 @@ bool z_internal_shm_client_check(const struct z_owned_shm_client_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_internal_shm_client_null(struct z_owned_shm_client_t *this_);
+void z_internal_shm_client_null(z_owned_shm_client_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -2804,7 +2982,7 @@ void z_internal_shm_client_null(struct z_owned_shm_client_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-bool z_internal_shm_client_storage_check(const struct z_owned_shm_client_storage_t *this_);
+bool z_internal_shm_client_storage_check(const z_owned_shm_client_storage_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -2812,7 +2990,7 @@ bool z_internal_shm_client_storage_check(const struct z_owned_shm_client_storage
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_internal_shm_client_storage_null(struct z_owned_shm_client_storage_t *this_);
+void z_internal_shm_client_storage_null(z_owned_shm_client_storage_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -2820,7 +2998,7 @@ void z_internal_shm_client_storage_null(struct z_owned_shm_client_storage_t *thi
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-bool z_internal_shm_mut_check(const struct z_owned_shm_mut_t *this_);
+bool z_internal_shm_mut_check(const z_owned_shm_mut_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -2828,7 +3006,7 @@ bool z_internal_shm_mut_check(const struct z_owned_shm_mut_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_internal_shm_mut_null(struct z_owned_shm_mut_t *this_);
+void z_internal_shm_mut_null(z_owned_shm_mut_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -2836,7 +3014,7 @@ void z_internal_shm_mut_null(struct z_owned_shm_mut_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_internal_shm_null(struct z_owned_shm_t *this_);
+void z_internal_shm_null(z_owned_shm_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -2844,7 +3022,7 @@ void z_internal_shm_null(struct z_owned_shm_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-bool z_internal_shm_provider_check(const struct z_owned_shm_provider_t *this_);
+bool z_internal_shm_provider_check(const z_owned_shm_provider_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -2852,7 +3030,7 @@ bool z_internal_shm_provider_check(const struct z_owned_shm_provider_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_internal_shm_provider_null(struct z_owned_shm_provider_t *this_);
+void z_internal_shm_provider_null(z_owned_shm_provider_t *this_);
#endif
/**
* @return ``true`` if slice is not empty, ``false`` otherwise.
@@ -2868,7 +3046,7 @@ ZENOHC_API void z_internal_slice_null(struct z_owned_slice_t *this_);
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-bool z_internal_source_info_check(const struct z_owned_source_info_t *this_);
+bool z_internal_source_info_check(const z_owned_source_info_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -2876,7 +3054,7 @@ bool z_internal_source_info_check(const struct z_owned_source_info_t *this_);
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-void z_internal_source_info_null(struct z_owned_source_info_t *this_);
+void z_internal_source_info_null(z_owned_source_info_t *this_);
#endif
/**
* @return ``true`` if the string array is valid, ``false`` if it is in a gravestone state.
@@ -3053,7 +3231,7 @@ enum z_keyexpr_intersection_level_t z_keyexpr_relation_to(const struct z_loaned_
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_memory_layout_drop(struct z_moved_memory_layout_t *this_);
+void z_memory_layout_drop(z_moved_memory_layout_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3061,7 +3239,7 @@ void z_memory_layout_drop(struct z_moved_memory_layout_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_memory_layout_get_data(const struct z_loaned_memory_layout_t *this_,
+void z_memory_layout_get_data(const z_loaned_memory_layout_t *this_,
size_t *out_size,
struct z_alloc_alignment_t *out_alignment);
#endif
@@ -3071,7 +3249,7 @@ void z_memory_layout_get_data(const struct z_loaned_memory_layout_t *this_,
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-const struct z_loaned_memory_layout_t *z_memory_layout_loan(const struct z_owned_memory_layout_t *this_);
+const z_loaned_memory_layout_t *z_memory_layout_loan(const z_owned_memory_layout_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3079,7 +3257,7 @@ const struct z_loaned_memory_layout_t *z_memory_layout_loan(const struct z_owned
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-z_result_t z_memory_layout_new(struct z_owned_memory_layout_t *this_,
+z_result_t z_memory_layout_new(z_owned_memory_layout_t *this_,
size_t size,
struct z_alloc_alignment_t alignment);
#endif
@@ -3135,7 +3313,7 @@ ZENOHC_API void z_open_options_default(struct z_open_options_t *this_);
ZENOHC_API
z_result_t z_open_with_custom_shm_clients(struct z_owned_session_t *this_,
struct z_moved_config_t *config,
- const struct z_loaned_shm_client_storage_t *shm_clients);
+ const z_loaned_shm_client_storage_t *shm_clients);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3143,7 +3321,7 @@ z_result_t z_open_with_custom_shm_clients(struct z_owned_session_t *this_,
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_posix_shm_client_new(struct z_owned_shm_client_t *this_);
+void z_posix_shm_client_new(z_owned_shm_client_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3151,13 +3329,31 @@ void z_posix_shm_client_new(struct z_owned_shm_client_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-z_result_t z_posix_shm_provider_new(struct z_owned_shm_provider_t *this_,
- const struct z_loaned_memory_layout_t *layout);
+z_result_t z_posix_shm_provider_new(z_owned_shm_provider_t *this_,
+ const z_loaned_memory_layout_t *layout);
#endif
/**
* Returns the default value of #z_priority_t.
*/
ZENOHC_API enum z_priority_t z_priority_default(void);
+/**
+ * Constructs and declares a publisher for the given key expression.
+ *
+ * Data can be put and deleted with this publisher with the help of the
+ * `z_publisher_put()` and `z_publisher_delete()` functions.
+ *
+ * @param this_: An unitilized location in memory where publisher will be constructed.
+ * @param session: The Zenoh session.
+ * @param key_expr: The key expression to publish.
+ * @param options: Additional options for the publisher.
+ *
+ * @return 0 in case of success, negative error code otherwise.
+ */
+ZENOHC_API
+z_result_t z_publisher_declare(struct z_owned_publisher_t *this_,
+ const struct z_loaned_session_t *session,
+ const struct z_loaned_keyexpr_t *key_expr,
+ struct z_publisher_options_t *options);
/**
* Sends a `DELETE` message onto the publisher's key expression.
*
@@ -3180,7 +3376,7 @@ ZENOHC_API void z_publisher_drop(struct z_moved_publisher_t *this_);
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-struct z_entity_global_id_t z_publisher_id(const struct z_loaned_publisher_t *publisher);
+z_entity_global_id_t z_publisher_id(const struct z_loaned_publisher_t *publisher);
#endif
/**
* Returns the key expression of the publisher.
@@ -3391,18 +3587,32 @@ ZENOHC_API void z_query_reply_options_default(struct z_query_reply_options_t *th
*/
ZENOHC_API enum z_query_target_t z_query_target_default(void);
/**
- * Frees memory and resets queryable to its gravestone state.
- * The callback closure is not dropped, and thus the queries continue to be served until the corresponding session is closed.
+ * Declares a background queryable for a given keyexpr. The queryable callback will be be called
+ * to proccess incoming queries until the corresponding session is closed or dropped.
+ *
+ * @param session: The zenoh session.
+ * @param key_expr: The key expression the Queryable will reply to.
+ * @param callback: The callback function that will be called each time a matching query is received. Its ownership is passed to queryable.
+ * @param options: Options for the queryable.
+ *
+ * @return 0 in case of success, negative error code otherwise (in this case )
*/
ZENOHC_API
-void z_queryable_drop(struct z_moved_queryable_t *this_);
+z_result_t z_queryable_declare_background(const struct z_loaned_session_t *session,
+ const struct z_loaned_keyexpr_t *key_expr,
+ struct z_moved_closure_query_t *callback,
+ struct z_queryable_options_t *options);
+/**
+ * Undeclares queryable callback and resets it to its gravestone state.
+ */
+ZENOHC_API void z_queryable_drop(struct z_moved_queryable_t *this_);
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
* @brief Returns the ID of the queryable.
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-struct z_entity_global_id_t z_queryable_id(const struct z_loaned_queryable_t *queryable);
+z_entity_global_id_t z_queryable_id(const struct z_loaned_queryable_t *queryable);
#endif
ZENOHC_API
const struct z_loaned_queryable_t *z_queryable_loan(const struct z_owned_queryable_t *this_);
@@ -3435,7 +3645,7 @@ ZENOHC_API uint8_t z_random_u8(void);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_ref_shm_client_storage_global(struct z_owned_shm_client_storage_t *this_);
+void z_ref_shm_client_storage_global(z_owned_shm_client_storage_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3507,7 +3717,7 @@ ZENOHC_API const struct z_loaned_sample_t *z_reply_ok(const struct z_loaned_repl
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
bool z_reply_replier_id(const struct z_loaned_reply_t *this_,
- struct z_id_t *out_id);
+ z_id_t *out_id);
#endif
/**
* Constructs send and recieve ends of the ring channel
@@ -3670,7 +3880,7 @@ enum z_reliability_t z_sample_reliability(const struct z_loaned_sample_t *this_)
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-const struct z_loaned_source_info_t *z_sample_source_info(const struct z_loaned_sample_t *this_);
+const z_loaned_source_info_t *z_sample_source_info(const struct z_loaned_sample_t *this_);
#endif
/**
* Returns the sample timestamp.
@@ -3716,7 +3926,7 @@ ZENOHC_API struct z_loaned_session_t *z_session_loan_mut(struct z_owned_session_
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_shm_client_drop(struct z_moved_shm_client_t *this_);
+void z_shm_client_drop(z_moved_shm_client_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3724,7 +3934,7 @@ void z_shm_client_drop(struct z_moved_shm_client_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_shm_client_new(struct z_owned_shm_client_t *this_,
+void z_shm_client_new(z_owned_shm_client_t *this_,
struct zc_threadsafe_context_t context,
struct zc_shm_client_callbacks_t callbacks);
#endif
@@ -3734,8 +3944,8 @@ void z_shm_client_new(struct z_owned_shm_client_t *this_,
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_shm_client_storage_clone(struct z_owned_shm_client_storage_t *this_,
- const struct z_loaned_shm_client_storage_t *from);
+void z_shm_client_storage_clone(z_owned_shm_client_storage_t *this_,
+ const z_loaned_shm_client_storage_t *from);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3743,7 +3953,7 @@ void z_shm_client_storage_clone(struct z_owned_shm_client_storage_t *this_,
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_shm_client_storage_drop(struct z_moved_shm_client_storage_t *this_);
+void z_shm_client_storage_drop(z_moved_shm_client_storage_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3751,15 +3961,15 @@ void z_shm_client_storage_drop(struct z_moved_shm_client_storage_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-const struct z_loaned_shm_client_storage_t *z_shm_client_storage_loan(const struct z_owned_shm_client_storage_t *this_);
+const z_loaned_shm_client_storage_t *z_shm_client_storage_loan(const z_owned_shm_client_storage_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-z_result_t z_shm_client_storage_new(struct z_owned_shm_client_storage_t *this_,
- const struct zc_loaned_shm_client_list_t *clients,
+z_result_t z_shm_client_storage_new(z_owned_shm_client_storage_t *this_,
+ const zc_loaned_shm_client_list_t *clients,
bool add_default_client_set);
#endif
/**
@@ -3767,7 +3977,7 @@ z_result_t z_shm_client_storage_new(struct z_owned_shm_client_storage_t *this_,
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_shm_client_storage_new_default(struct z_owned_shm_client_storage_t *this_);
+void z_shm_client_storage_new_default(z_owned_shm_client_storage_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3775,8 +3985,8 @@ void z_shm_client_storage_new_default(struct z_owned_shm_client_storage_t *this_
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_shm_clone(struct z_owned_shm_t *out,
- const struct z_loaned_shm_t *this_);
+void z_shm_clone(z_owned_shm_t *out,
+ const z_loaned_shm_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3784,7 +3994,7 @@ void z_shm_clone(struct z_owned_shm_t *out,
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-const unsigned char *z_shm_data(const struct z_loaned_shm_t *this_);
+const unsigned char *z_shm_data(const z_loaned_shm_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3792,7 +4002,7 @@ const unsigned char *z_shm_data(const struct z_loaned_shm_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_shm_drop(struct z_moved_shm_t *this_);
+void z_shm_drop(z_moved_shm_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3800,8 +4010,8 @@ void z_shm_drop(struct z_moved_shm_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_shm_from_mut(struct z_owned_shm_t *this_,
- struct z_moved_shm_mut_t *that);
+void z_shm_from_mut(z_owned_shm_t *this_,
+ z_moved_shm_mut_t *that);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3809,7 +4019,7 @@ void z_shm_from_mut(struct z_owned_shm_t *this_,
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-size_t z_shm_len(const struct z_loaned_shm_t *this_);
+size_t z_shm_len(const z_loaned_shm_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3817,13 +4027,13 @@ size_t z_shm_len(const struct z_loaned_shm_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-const struct z_loaned_shm_t *z_shm_loan(const struct z_owned_shm_t *this_);
+const z_loaned_shm_t *z_shm_loan(const z_owned_shm_t *this_);
#endif
/**
* @brief Mutably borrows ZShm slice.
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
-ZENOHC_API struct z_loaned_shm_t *z_shm_loan_mut(struct z_owned_shm_t *this_);
+ZENOHC_API z_loaned_shm_t *z_shm_loan_mut(z_owned_shm_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3831,7 +4041,7 @@ ZENOHC_API struct z_loaned_shm_t *z_shm_loan_mut(struct z_owned_shm_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-const unsigned char *z_shm_mut_data(const struct z_loaned_shm_mut_t *this_);
+const unsigned char *z_shm_mut_data(const z_loaned_shm_mut_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3839,7 +4049,7 @@ const unsigned char *z_shm_mut_data(const struct z_loaned_shm_mut_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-unsigned char *z_shm_mut_data_mut(struct z_loaned_shm_mut_t *this_);
+unsigned char *z_shm_mut_data_mut(z_loaned_shm_mut_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3847,7 +4057,7 @@ unsigned char *z_shm_mut_data_mut(struct z_loaned_shm_mut_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_shm_mut_drop(struct z_moved_shm_mut_t *this_);
+void z_shm_mut_drop(z_moved_shm_mut_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3855,7 +4065,7 @@ void z_shm_mut_drop(struct z_moved_shm_mut_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-size_t z_shm_mut_len(const struct z_loaned_shm_mut_t *this_);
+size_t z_shm_mut_len(const z_loaned_shm_mut_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3863,7 +4073,7 @@ size_t z_shm_mut_len(const struct z_loaned_shm_mut_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-const struct z_loaned_shm_mut_t *z_shm_mut_loan(const struct z_owned_shm_mut_t *this_);
+const z_loaned_shm_mut_t *z_shm_mut_loan(const z_owned_shm_mut_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3871,7 +4081,7 @@ const struct z_loaned_shm_mut_t *z_shm_mut_loan(const struct z_owned_shm_mut_t *
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-struct z_loaned_shm_mut_t *z_shm_mut_loan_mut(struct z_owned_shm_mut_t *this_);
+z_loaned_shm_mut_t *z_shm_mut_loan_mut(z_owned_shm_mut_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3885,9 +4095,9 @@ struct z_loaned_shm_mut_t *z_shm_mut_loan_mut(struct z_owned_shm_mut_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-z_result_t z_shm_mut_try_from_immut(struct z_owned_shm_mut_t *this_,
- struct z_moved_shm_t *that,
- struct z_owned_shm_t *immut);
+z_result_t z_shm_mut_try_from_immut(z_owned_shm_mut_t *this_,
+ z_moved_shm_t *that,
+ z_owned_shm_t *immut);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3895,7 +4105,7 @@ z_result_t z_shm_mut_try_from_immut(struct z_owned_shm_mut_t *this_,
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
void z_shm_provider_alloc(struct z_buf_layout_alloc_result_t *out_result,
- const struct z_loaned_shm_provider_t *provider,
+ const z_loaned_shm_provider_t *provider,
size_t size,
struct z_alloc_alignment_t alignment);
#endif
@@ -3905,7 +4115,7 @@ void z_shm_provider_alloc(struct z_buf_layout_alloc_result_t *out_result,
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
void z_shm_provider_alloc_gc(struct z_buf_layout_alloc_result_t *out_result,
- const struct z_loaned_shm_provider_t *provider,
+ const z_loaned_shm_provider_t *provider,
size_t size,
struct z_alloc_alignment_t alignment);
#endif
@@ -3915,7 +4125,7 @@ void z_shm_provider_alloc_gc(struct z_buf_layout_alloc_result_t *out_result,
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
void z_shm_provider_alloc_gc_defrag(struct z_buf_layout_alloc_result_t *out_result,
- const struct z_loaned_shm_provider_t *provider,
+ const z_loaned_shm_provider_t *provider,
size_t size,
struct z_alloc_alignment_t alignment);
#endif
@@ -3925,7 +4135,7 @@ void z_shm_provider_alloc_gc_defrag(struct z_buf_layout_alloc_result_t *out_resu
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
z_result_t z_shm_provider_alloc_gc_defrag_async(struct z_buf_layout_alloc_result_t *out_result,
- const struct z_loaned_shm_provider_t *provider,
+ const z_loaned_shm_provider_t *provider,
size_t size,
struct z_alloc_alignment_t alignment,
struct zc_threadsafe_context_t result_context,
@@ -3938,7 +4148,7 @@ z_result_t z_shm_provider_alloc_gc_defrag_async(struct z_buf_layout_alloc_result
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
void z_shm_provider_alloc_gc_defrag_blocking(struct z_buf_layout_alloc_result_t *out_result,
- const struct z_loaned_shm_provider_t *provider,
+ const z_loaned_shm_provider_t *provider,
size_t size,
struct z_alloc_alignment_t alignment);
#endif
@@ -3948,7 +4158,7 @@ void z_shm_provider_alloc_gc_defrag_blocking(struct z_buf_layout_alloc_result_t
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
void z_shm_provider_alloc_gc_defrag_dealloc(struct z_buf_layout_alloc_result_t *out_result,
- const struct z_loaned_shm_provider_t *provider,
+ const z_loaned_shm_provider_t *provider,
size_t size,
struct z_alloc_alignment_t alignment);
#endif
@@ -3957,14 +4167,14 @@ void z_shm_provider_alloc_gc_defrag_dealloc(struct z_buf_layout_alloc_result_t *
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-size_t z_shm_provider_available(const struct z_loaned_shm_provider_t *provider);
+size_t z_shm_provider_available(const z_loaned_shm_provider_t *provider);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-size_t z_shm_provider_defragment(const struct z_loaned_shm_provider_t *provider);
+size_t z_shm_provider_defragment(const z_loaned_shm_provider_t *provider);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3972,14 +4182,14 @@ size_t z_shm_provider_defragment(const struct z_loaned_shm_provider_t *provider)
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_shm_provider_drop(struct z_moved_shm_provider_t *this_);
+void z_shm_provider_drop(z_moved_shm_provider_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-size_t z_shm_provider_garbage_collect(const struct z_loaned_shm_provider_t *provider);
+size_t z_shm_provider_garbage_collect(const z_loaned_shm_provider_t *provider);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -3987,15 +4197,15 @@ size_t z_shm_provider_garbage_collect(const struct z_loaned_shm_provider_t *prov
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-const struct z_loaned_shm_provider_t *z_shm_provider_loan(const struct z_owned_shm_provider_t *this_);
+const z_loaned_shm_provider_t *z_shm_provider_loan(const z_owned_shm_provider_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-z_result_t z_shm_provider_map(struct z_owned_shm_mut_t *out_result,
- const struct z_loaned_shm_provider_t *provider,
+z_result_t z_shm_provider_map(z_owned_shm_mut_t *out_result,
+ const z_loaned_shm_provider_t *provider,
struct z_allocated_chunk_t allocated_chunk,
size_t len);
#endif
@@ -4005,7 +4215,7 @@ z_result_t z_shm_provider_map(struct z_owned_shm_mut_t *out_result,
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_shm_provider_new(struct z_owned_shm_provider_t *this_,
+void z_shm_provider_new(z_owned_shm_provider_t *this_,
z_protocol_id_t id,
struct zc_context_t context,
struct zc_shm_provider_backend_callbacks_t callbacks);
@@ -4016,7 +4226,7 @@ void z_shm_provider_new(struct z_owned_shm_provider_t *this_,
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void z_shm_provider_threadsafe_new(struct z_owned_shm_provider_t *this_,
+void z_shm_provider_threadsafe_new(z_owned_shm_provider_t *this_,
z_protocol_id_t id,
struct zc_threadsafe_context_t context,
struct zc_shm_provider_backend_callbacks_t callbacks);
@@ -4027,7 +4237,7 @@ void z_shm_provider_threadsafe_new(struct z_owned_shm_provider_t *this_,
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-struct z_loaned_shm_mut_t *z_shm_try_mut(struct z_owned_shm_t *this_);
+z_loaned_shm_mut_t *z_shm_try_mut(z_owned_shm_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -4035,7 +4245,7 @@ struct z_loaned_shm_mut_t *z_shm_try_mut(struct z_owned_shm_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-struct z_loaned_shm_mut_t *z_shm_try_reloan_mut(struct z_loaned_shm_t *this_);
+z_loaned_shm_mut_t *z_shm_try_reloan_mut(z_loaned_shm_t *this_);
#endif
/**
* Puts current thread to sleep for specified amount of milliseconds.
@@ -4108,7 +4318,7 @@ ZENOHC_API const struct z_loaned_slice_t *z_slice_loan(const struct z_owned_slic
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-void z_source_info_drop(struct z_moved_source_info_t *this_);
+void z_source_info_drop(z_moved_source_info_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -4116,7 +4326,7 @@ void z_source_info_drop(struct z_moved_source_info_t *this_);
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-struct z_entity_global_id_t z_source_info_id(const struct z_loaned_source_info_t *this_);
+z_entity_global_id_t z_source_info_id(const z_loaned_source_info_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -4124,7 +4334,7 @@ struct z_entity_global_id_t z_source_info_id(const struct z_loaned_source_info_t
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-const struct z_loaned_source_info_t *z_source_info_loan(const struct z_owned_source_info_t *this_);
+const z_loaned_source_info_t *z_source_info_loan(const z_owned_source_info_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -4132,8 +4342,8 @@ const struct z_loaned_source_info_t *z_source_info_loan(const struct z_owned_sou
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-z_result_t z_source_info_new(struct z_owned_source_info_t *this_,
- const struct z_entity_global_id_t *source_id,
+z_result_t z_source_info_new(z_owned_source_info_t *this_,
+ const z_entity_global_id_t *source_id,
uint32_t source_sn);
#endif
/**
@@ -4142,7 +4352,7 @@ z_result_t z_source_info_new(struct z_owned_source_info_t *this_,
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-uint32_t z_source_info_sn(const struct z_loaned_source_info_t *this_);
+uint32_t z_source_info_sn(const z_loaned_source_info_t *this_);
#endif
/**
* Constructs an owned copy of a string array.
@@ -4260,11 +4470,42 @@ ZENOHC_API size_t z_string_len(const struct z_loaned_string_t *this_);
*/
ZENOHC_API const struct z_loaned_string_t *z_string_loan(const struct z_owned_string_t *this_);
/**
- * Drops subscriber and resets it to its gravestone state.
- * The callback closure is not dropped and still keeps receiving and processing samples until the corresponding session is closed.
+ * Constructs and declares a subscriber for a given key expression. Dropping subscriber undeclares its callback.
+ *
+ * @param this_: An uninitialized location in memory, where subscriber will be constructed.
+ * @param session: The zenoh session.
+ * @param key_expr: The key expression to subscribe.
+ * @param callback: The callback function that will be called each time a data matching the subscribed expression is received.
+ * @param _options: The options to be passed to the subscriber declaration.
+ *
+ * @return 0 in case of success, negative error code otherwise (in this case subscriber will be in its gravestone state).
+ */
+ZENOHC_API
+z_result_t z_subscriber_declare(struct z_owned_subscriber_t *this_,
+ const struct z_loaned_session_t *session,
+ const struct z_loaned_keyexpr_t *key_expr,
+ struct z_moved_closure_sample_t *callback,
+ struct z_subscriber_options_t *_options);
+/**
+ * Constructs and declares a background subscriber. Subscriber callback will be called to process the messages,
+ * until the corresponding session is closed or dropped.
+ *
+ * @param session: The zenoh session.
+ * @param key_expr: The key expression to subscribe.
+ * @param callback: The callback function that will be called each time a data matching the subscribed expression is received.
+ * @param _options: The options to be passed to the subscriber declaration.
+ *
+ * @return 0 in case of success, negative error code otherwise.
*/
ZENOHC_API
-void z_subscriber_drop(struct z_moved_subscriber_t *this_);
+z_result_t z_subscriber_declare_background(const struct z_loaned_session_t *session,
+ const struct z_loaned_keyexpr_t *key_expr,
+ struct z_moved_closure_sample_t *callback,
+ struct z_subscriber_options_t *_options);
+/**
+ * Undeclares subscriber callback and resets it to its gravestone state.
+ */
+ZENOHC_API void z_subscriber_drop(struct z_moved_subscriber_t *this_);
/**
* Returns the key expression of the subscriber.
*/
@@ -4336,7 +4577,7 @@ const char *z_time_now_as_str(const char *buf,
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-struct z_id_t z_timestamp_id(const struct z_timestamp_t *this_);
+z_id_t z_timestamp_id(const struct z_timestamp_t *this_);
#endif
/**
* Create uhlc timestamp from session id.
@@ -4356,24 +4597,6 @@ ZENOHC_API uint64_t z_timestamp_ntp64_time(const struct z_timestamp_t *this_);
ZENOHC_API
z_result_t z_undeclare_keyexpr(struct z_moved_keyexpr_t *this_,
const struct z_loaned_session_t *session);
-/**
- * @brief Undeclares the given publisher, droping and invalidating it.
- *
- * @return 0 in case of success, negative error code otherwise.
- */
-ZENOHC_API z_result_t z_undeclare_publisher(struct z_moved_publisher_t *this_);
-/**
- * Undeclares a `z_owned_queryable_t` and drops it.
- *
- * Returns 0 in case of success, negative error code otherwise.
- */
-ZENOHC_API z_result_t z_undeclare_queryable(struct z_moved_queryable_t *this_);
-/**
- * Undeclares and drops subscriber.
- *
- * @return 0 in case of success, negative error code otherwise.
- */
-ZENOHC_API z_result_t z_undeclare_subscriber(struct z_moved_subscriber_t *this_);
/**
* Constructs a view key expression in empty state
*/
@@ -4728,7 +4951,7 @@ void zc_internal_closure_matching_status_null(struct zc_owned_closure_matching_s
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-bool zc_internal_liveliness_token_check(const struct zc_owned_liveliness_token_t *this_);
+bool zc_internal_liveliness_token_check(const zc_owned_liveliness_token_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -4736,7 +4959,7 @@ bool zc_internal_liveliness_token_check(const struct zc_owned_liveliness_token_t
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-void zc_internal_liveliness_token_null(struct zc_owned_liveliness_token_t *this_);
+void zc_internal_liveliness_token_null(zc_owned_liveliness_token_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -4744,7 +4967,7 @@ void zc_internal_liveliness_token_null(struct zc_owned_liveliness_token_t *this_
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-bool zc_internal_matching_listener_check(const struct zc_owned_matching_listener_t *this_);
+bool zc_internal_matching_listener_check(const zc_owned_matching_listener_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -4752,7 +4975,7 @@ bool zc_internal_matching_listener_check(const struct zc_owned_matching_listener
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-void zc_internal_matching_listener_null(struct zc_owned_matching_listener_t *this_);
+void zc_internal_matching_listener_null(zc_owned_matching_listener_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -4760,7 +4983,7 @@ void zc_internal_matching_listener_null(struct zc_owned_matching_listener_t *thi
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-bool zc_internal_shm_client_list_check(const struct zc_owned_shm_client_list_t *this_);
+bool zc_internal_shm_client_list_check(const zc_owned_shm_client_list_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -4768,7 +4991,7 @@ bool zc_internal_shm_client_list_check(const struct zc_owned_shm_client_list_t *
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void zc_internal_shm_client_list_null(struct zc_owned_shm_client_list_t *this_);
+void zc_internal_shm_client_list_null(zc_owned_shm_client_list_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -4778,26 +5001,6 @@ void zc_internal_shm_client_list_null(struct zc_owned_shm_client_list_t *this_);
ZENOHC_API
void zc_liveliness_declaration_options_default(struct zc_liveliness_declaration_options_t *this_);
#endif
-/**
- * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
- * @brief Declares a subscriber on liveliness tokens that intersect `key_expr`.
- *
- * @param this_: An uninitialized memory location where subscriber will be constructed.
- * @param session: The Zenoh session.
- * @param key_expr: The key expression to subscribe to.
- * @param callback: The callback function that will be called each time a liveliness token status is changed.
- * @param options: The options to be passed to the liveliness subscriber declaration.
- *
- * @return 0 in case of success, negative error values otherwise.
- */
-#if defined(Z_FEATURE_UNSTABLE_API)
-ZENOHC_API
-z_result_t zc_liveliness_declare_subscriber(struct z_owned_subscriber_t *this_,
- const struct z_loaned_session_t *session,
- const struct z_loaned_keyexpr_t *key_expr,
- struct z_moved_closure_sample_t *callback,
- struct zc_liveliness_subscriber_options_t *options);
-#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
* @brief Constructs and declares a liveliness token on the network.
@@ -4812,7 +5015,7 @@ z_result_t zc_liveliness_declare_subscriber(struct z_owned_subscriber_t *this_,
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-z_result_t zc_liveliness_declare_token(struct zc_owned_liveliness_token_t *this_,
+z_result_t zc_liveliness_declare_token(zc_owned_liveliness_token_t *this_,
const struct z_loaned_session_t *session,
const struct z_loaned_keyexpr_t *key_expr,
const struct zc_liveliness_declaration_options_t *_options);
@@ -4843,7 +5046,45 @@ void zc_liveliness_get_options_default(struct zc_liveliness_get_options_t *this_
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
- * @brief Constucts default value for `zc_liveliness_declare_subscriber_options_t`.
+ * @brief Declares a subscriber on liveliness tokens that intersect `key_expr`.
+ *
+ * @param this_: An uninitialized memory location where subscriber will be constructed.
+ * @param session: The Zenoh session.
+ * @param key_expr: The key expression to subscribe to.
+ * @param callback: The callback function that will be called each time a liveliness token status is changed.
+ * @param options: The options to be passed to the liveliness subscriber declaration.
+ *
+ * @return 0 in case of success, negative error values otherwise.
+ */
+#if defined(Z_FEATURE_UNSTABLE_API)
+ZENOHC_API
+z_result_t zc_liveliness_subscriber_declare(struct z_owned_subscriber_t *this_,
+ const struct z_loaned_session_t *session,
+ const struct z_loaned_keyexpr_t *key_expr,
+ struct z_moved_closure_sample_t *callback,
+ struct zc_liveliness_subscriber_options_t *options);
+#endif
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief Declares a background subscriber on liveliness tokens that intersect `key_expr`. Subscriber callback will be called to process the messages,
+ * until the corresponding session is closed or dropped.
+ * @param session: The Zenoh session.
+ * @param key_expr: The key expression to subscribe to.
+ * @param callback: The callback function that will be called each time a liveliness token status is changed.
+ * @param options: The options to be passed to the liveliness subscriber declaration.
+ *
+ * @return 0 in case of success, negative error values otherwise.
+ */
+#if defined(Z_FEATURE_UNSTABLE_API)
+ZENOHC_API
+z_result_t zc_liveliness_subscriber_declare_background(const struct z_loaned_session_t *session,
+ const struct z_loaned_keyexpr_t *key_expr,
+ struct z_moved_closure_sample_t *callback,
+ struct zc_liveliness_subscriber_options_t *options);
+#endif
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief Constucts default value for `zc_liveliness_subscriber_declare_options_t`.
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
@@ -4855,7 +5096,7 @@ void zc_liveliness_subscriber_options_default(struct zc_liveliness_subscriber_op
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-void zc_liveliness_token_drop(struct zc_moved_liveliness_token_t *this_);
+void zc_liveliness_token_drop(zc_moved_liveliness_token_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -4863,7 +5104,7 @@ void zc_liveliness_token_drop(struct zc_moved_liveliness_token_t *this_);
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-const struct zc_loaned_liveliness_token_t *zc_liveliness_token_loan(const struct zc_owned_liveliness_token_t *this_);
+const zc_loaned_liveliness_token_t *zc_liveliness_token_loan(const zc_owned_liveliness_token_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -4871,7 +5112,7 @@ const struct zc_loaned_liveliness_token_t *zc_liveliness_token_loan(const struct
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-z_result_t zc_liveliness_undeclare_token(struct zc_moved_liveliness_token_t *this_);
+z_result_t zc_liveliness_undeclare_token(zc_moved_liveliness_token_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -4904,27 +5145,32 @@ z_result_t zc_publisher_get_matching_status(const struct z_loaned_publisher_t *t
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-z_result_t zc_publisher_matching_listener_declare(struct zc_owned_matching_listener_t *this_,
+z_result_t zc_publisher_matching_listener_declare(zc_owned_matching_listener_t *this_,
const struct z_loaned_publisher_t *publisher,
struct zc_moved_closure_matching_status_t *callback);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
- * @brief Undeclares the given matching listener, droping and invalidating it.
+ * @brief Declares a matching listener, registering a callback for notifying subscribers matching with a given publisher.
+ * The callback will be run in the background until the corresponding publisher is dropped.
+ *
+ * @param publisher: A publisher to associate with matching listener.
+ * @param callback: A closure that will be called every time the matching status of the publisher changes (If last subscriber, disconnects or when the first subscriber connects).
+ *
+ * @return 0 in case of success, negative error code otherwise.
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-void zc_publisher_matching_listener_drop(struct zc_moved_matching_listener_t *this_);
+z_result_t zc_publisher_matching_listener_declare_background(const struct z_loaned_publisher_t *publisher,
+ struct zc_moved_closure_matching_status_t *callback);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
* @brief Undeclares the given matching listener, droping and invalidating it.
- *
- * @return 0 in case of success, negative error code otherwise.
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-z_result_t zc_publisher_matching_listener_undeclare(struct zc_moved_matching_listener_t *this_);
+void zc_publisher_matching_listener_drop(zc_moved_matching_listener_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -4939,9 +5185,9 @@ enum zc_reply_keyexpr_t zc_reply_keyexpr_default(void);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-z_result_t zc_shm_client_list_add_client(struct zc_loaned_shm_client_list_t *this_,
+z_result_t zc_shm_client_list_add_client(zc_loaned_shm_client_list_t *this_,
z_protocol_id_t id,
- struct z_moved_shm_client_t *client);
+ z_moved_shm_client_t *client);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -4949,7 +5195,7 @@ z_result_t zc_shm_client_list_add_client(struct zc_loaned_shm_client_list_t *thi
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void zc_shm_client_list_drop(struct zc_moved_shm_client_list_t *this_);
+void zc_shm_client_list_drop(zc_moved_shm_client_list_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -4957,7 +5203,7 @@ void zc_shm_client_list_drop(struct zc_moved_shm_client_list_t *this_);
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-const struct zc_loaned_shm_client_list_t *zc_shm_client_list_loan(const struct zc_owned_shm_client_list_t *this_);
+const zc_loaned_shm_client_list_t *zc_shm_client_list_loan(const zc_owned_shm_client_list_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -4965,7 +5211,7 @@ const struct zc_loaned_shm_client_list_t *zc_shm_client_list_loan(const struct z
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-struct zc_loaned_shm_client_list_t *zc_shm_client_list_loan_mut(struct zc_owned_shm_client_list_t *this_);
+zc_loaned_shm_client_list_t *zc_shm_client_list_loan_mut(zc_owned_shm_client_list_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -4973,7 +5219,7 @@ struct zc_loaned_shm_client_list_t *zc_shm_client_list_loan_mut(struct zc_owned_
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
-void zc_shm_client_list_new(struct zc_owned_shm_client_list_t *this_);
+void zc_shm_client_list_new(zc_owned_shm_client_list_t *this_);
#endif
/**
* Stops all Zenoh tasks and drops all related static variables.
@@ -4992,44 +5238,6 @@ void zc_stop_z_runtime(void);
*/
ZENOHC_API
void zc_try_init_log_from_env(void);
-/**
- * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
- * @brief Constructs and declares a publication cache.
- *
- * @param this_: An uninitialized location in memory where publication cache will be constructed.
- * @param session: A Zenoh session.
- * @param key_expr: The key expression to publish to.
- * @param options: Additional options for the publication cache.
- *
- * @returns 0 in case of success, negative error code otherwise.
- */
-#if defined(Z_FEATURE_UNSTABLE_API)
-ZENOHC_API
-z_result_t ze_declare_publication_cache(struct ze_owned_publication_cache_t *this_,
- const struct z_loaned_session_t *session,
- const struct z_loaned_keyexpr_t *key_expr,
- struct ze_publication_cache_options_t *options);
-#endif
-/**
- * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
- * @brief Constructs and declares a querying subscriber for a given key expression.
- *
- * @param this_: An uninitialized memory location where querying subscriber will be constructed.
- * @param session: A Zenoh session.
- * @param key_expr: A key expression to subscribe to.
- * @param callback: The callback function that will be called each time a data matching the subscribed expression is received.
- * @param options: Additional options for the querying subscriber.
- *
- * @return 0 in case of success, negative error code otherwise.
- */
-#if defined(Z_FEATURE_UNSTABLE_API)
-ZENOHC_API
-z_result_t ze_declare_querying_subscriber(struct ze_owned_querying_subscriber_t *this_,
- const struct z_loaned_session_t *session,
- const struct z_loaned_keyexpr_t *key_expr,
- struct z_moved_closure_sample_t *callback,
- struct ze_querying_subscriber_options_t *options);
-#endif
/**
* @brief Deserializes into a bool.
* @return 0 in case of success, negative error code otherwise.
@@ -5209,7 +5417,7 @@ ZENOHC_API bool ze_deserializer_is_done(const struct ze_deserializer_t *this_);
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-bool ze_internal_publication_cache_check(const struct ze_owned_publication_cache_t *this_);
+bool ze_internal_publication_cache_check(const ze_owned_publication_cache_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -5217,7 +5425,7 @@ bool ze_internal_publication_cache_check(const struct ze_owned_publication_cache
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-void ze_internal_publication_cache_null(struct ze_owned_publication_cache_t *this_);
+void ze_internal_publication_cache_null(ze_owned_publication_cache_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -5225,13 +5433,13 @@ void ze_internal_publication_cache_null(struct ze_owned_publication_cache_t *thi
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-bool ze_internal_querying_subscriber_check(const struct ze_owned_querying_subscriber_t *this_);
+bool ze_internal_querying_subscriber_check(const ze_owned_querying_subscriber_t *this_);
#endif
/**
* Constructs a querying subscriber in a gravestone state.
*/
#if defined(Z_FEATURE_UNSTABLE_API)
-ZENOHC_API void ze_internal_querying_subscriber_null(struct ze_owned_querying_subscriber_t *this_);
+ZENOHC_API void ze_internal_querying_subscriber_null(ze_owned_querying_subscriber_t *this_);
#endif
/**
* @brief Returns ``true`` if `this_` is in a valid state, ``false`` if it is in a gravestone state.
@@ -5241,13 +5449,31 @@ ZENOHC_API bool ze_internal_serializer_check(const struct ze_owned_serializer_t
* @brief Constructs a serializer in a gravestone state.
*/
ZENOHC_API void ze_internal_serializer_null(struct ze_owned_serializer_t *this_);
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief Constructs and declares a publication cache.
+ *
+ * @param this_: An uninitialized location in memory where publication cache will be constructed.
+ * @param session: A Zenoh session.
+ * @param key_expr: The key expression to publish to.
+ * @param options: Additional options for the publication cache.
+ *
+ * @returns 0 in case of success, negative error code otherwise.
+ */
+#if defined(Z_FEATURE_UNSTABLE_API)
+ZENOHC_API
+z_result_t ze_publication_cache_declare(ze_owned_publication_cache_t *this_,
+ const struct z_loaned_session_t *session,
+ const struct z_loaned_keyexpr_t *key_expr,
+ struct ze_publication_cache_options_t *options);
+#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
* @brief Drops publication cache and resets it to its gravestone state.
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-void ze_publication_cache_drop(struct ze_moved_publication_cache_t *this_);
+void ze_publication_cache_drop(ze_moved_publication_cache_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -5255,7 +5481,7 @@ void ze_publication_cache_drop(struct ze_moved_publication_cache_t *this_);
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-const struct z_loaned_keyexpr_t *ze_publication_cache_keyexpr(const struct ze_loaned_publication_cache_t *this_);
+const struct z_loaned_keyexpr_t *ze_publication_cache_keyexpr(const ze_loaned_publication_cache_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -5263,7 +5489,7 @@ const struct z_loaned_keyexpr_t *ze_publication_cache_keyexpr(const struct ze_lo
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-const struct ze_loaned_publication_cache_t *ze_publication_cache_loan(const struct ze_owned_publication_cache_t *this_);
+const ze_loaned_publication_cache_t *ze_publication_cache_loan(const ze_owned_publication_cache_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -5275,12 +5501,50 @@ void ze_publication_cache_options_default(struct ze_publication_cache_options_t
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
- * @brief Drops querying subscriber.
- * The callback closure is not dropped, and thus the queries continue to be served until the corresponding session is closed.
+ * @brief Constructs and declares a querying subscriber for a given key expression.
+ *
+ * @param this_: An uninitialized memory location where querying subscriber will be constructed.
+ * @param session: A Zenoh session.
+ * @param key_expr: A key expression to subscribe to.
+ * @param callback: The callback function that will be called each time a data matching the subscribed expression is received.
+ * @param options: Additional options for the querying subscriber.
+ *
+ * @return 0 in case of success, negative error code otherwise.
+ */
+#if defined(Z_FEATURE_UNSTABLE_API)
+ZENOHC_API
+z_result_t ze_querying_subscriber_declare(ze_owned_querying_subscriber_t *this_,
+ const struct z_loaned_session_t *session,
+ const struct z_loaned_keyexpr_t *key_expr,
+ struct z_moved_closure_sample_t *callback,
+ struct ze_querying_subscriber_options_t *options);
+#endif
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief Declares a background querying subscriber for a given key expression. Subscriber callback will be called to process the messages,
+ * until the corresponding session is closed or dropped.
+ *
+ * @param session: A Zenoh session.
+ * @param key_expr: A key expression to subscribe to.
+ * @param callback: The callback function that will be called each time a data matching the subscribed expression is received.
+ * @param options: Additional options for the querying subscriber.
+ *
+ * @return 0 in case of success, negative error code otherwise.
+ */
+#if defined(Z_FEATURE_UNSTABLE_API)
+ZENOHC_API
+z_result_t ze_querying_subscriber_declare_background(const struct z_loaned_session_t *session,
+ const struct z_loaned_keyexpr_t *key_expr,
+ struct z_moved_closure_sample_t *callback,
+ struct ze_querying_subscriber_options_t *options);
+#endif
+/**
+ * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+ * @brief Undeclares querying subscriber callback and resets it to its gravestone state.
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-void ze_querying_subscriber_drop(struct ze_moved_querying_subscriber_t *this_);
+void ze_querying_subscriber_drop(ze_moved_querying_subscriber_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -5290,7 +5554,7 @@ void ze_querying_subscriber_drop(struct ze_moved_querying_subscriber_t *this_);
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-z_result_t ze_querying_subscriber_get(const struct ze_loaned_querying_subscriber_t *this_,
+z_result_t ze_querying_subscriber_get(const ze_loaned_querying_subscriber_t *this_,
const struct z_loaned_keyexpr_t *selector,
struct z_get_options_t *options);
#endif
@@ -5300,7 +5564,7 @@ z_result_t ze_querying_subscriber_get(const struct ze_loaned_querying_subscriber
*/
#if defined(Z_FEATURE_UNSTABLE_API)
ZENOHC_API
-const struct ze_loaned_querying_subscriber_t *ze_querying_subscriber_loan(const struct ze_owned_querying_subscriber_t *this_);
+const ze_loaned_querying_subscriber_t *ze_querying_subscriber_loan(const ze_owned_querying_subscriber_t *this_);
#endif
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
@@ -5485,22 +5749,3 @@ ZENOHC_API void ze_serializer_serialize_uint64(struct ze_loaned_serializer_t *th
* @brief Serializes an unsigned integer.
*/
ZENOHC_API void ze_serializer_serialize_uint8(struct ze_loaned_serializer_t *this_, uint8_t val);
-/**
- * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
- * @brief Undeclares and drops publication cache.
- * @return 0 in case of success, negative error code otherwise.
- */
-#if defined(Z_FEATURE_UNSTABLE_API)
-ZENOHC_API
-z_result_t ze_undeclare_publication_cache(struct ze_moved_publication_cache_t *this_);
-#endif
-/**
- * @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
- * @brief Undeclares the given querying subscriber, drops it and resets to a gravestone state.
- *
- * @return 0 in case of success, negative error code otherwise.
- */
-#if defined(Z_FEATURE_UNSTABLE_API)
-ZENOHC_API
-z_result_t ze_undeclare_querying_subscriber(struct ze_moved_querying_subscriber_t *this_);
-#endif
diff --git a/include/zenoh_macros.h b/include/zenoh_macros.h
index 8aa32d4d1..0782ee0a6 100644
--- a/include/zenoh_macros.h
+++ b/include/zenoh_macros.h
@@ -4,15 +4,12 @@
#ifndef __cplusplus
-static inline z_moved_alloc_layout_t* z_alloc_layout_move(z_owned_alloc_layout_t* x) { return (z_moved_alloc_layout_t*)(x); }
static inline z_moved_bytes_t* z_bytes_move(z_owned_bytes_t* x) { return (z_moved_bytes_t*)(x); }
static inline z_moved_bytes_writer_t* z_bytes_writer_move(z_owned_bytes_writer_t* x) { return (z_moved_bytes_writer_t*)(x); }
-static inline z_moved_chunk_alloc_result_t* z_chunk_alloc_result_move(z_owned_chunk_alloc_result_t* x) { return (z_moved_chunk_alloc_result_t*)(x); }
static inline z_moved_closure_hello_t* z_closure_hello_move(z_owned_closure_hello_t* x) { return (z_moved_closure_hello_t*)(x); }
static inline z_moved_closure_query_t* z_closure_query_move(z_owned_closure_query_t* x) { return (z_moved_closure_query_t*)(x); }
static inline z_moved_closure_reply_t* z_closure_reply_move(z_owned_closure_reply_t* x) { return (z_moved_closure_reply_t*)(x); }
static inline z_moved_closure_sample_t* z_closure_sample_move(z_owned_closure_sample_t* x) { return (z_moved_closure_sample_t*)(x); }
-static inline z_moved_closure_zid_t* z_closure_zid_move(z_owned_closure_zid_t* x) { return (z_moved_closure_zid_t*)(x); }
static inline z_moved_condvar_t* z_condvar_move(z_owned_condvar_t* x) { return (z_moved_condvar_t*)(x); }
static inline z_moved_config_t* z_config_move(z_owned_config_t* x) { return (z_moved_config_t*)(x); }
static inline z_moved_encoding_t* z_encoding_move(z_owned_encoding_t* x) { return (z_moved_encoding_t*)(x); }
@@ -21,7 +18,6 @@ static inline z_moved_fifo_handler_reply_t* z_fifo_handler_reply_move(z_owned_fi
static inline z_moved_fifo_handler_sample_t* z_fifo_handler_sample_move(z_owned_fifo_handler_sample_t* x) { return (z_moved_fifo_handler_sample_t*)(x); }
static inline z_moved_hello_t* z_hello_move(z_owned_hello_t* x) { return (z_moved_hello_t*)(x); }
static inline z_moved_keyexpr_t* z_keyexpr_move(z_owned_keyexpr_t* x) { return (z_moved_keyexpr_t*)(x); }
-static inline z_moved_memory_layout_t* z_memory_layout_move(z_owned_memory_layout_t* x) { return (z_moved_memory_layout_t*)(x); }
static inline z_moved_mutex_t* z_mutex_move(z_owned_mutex_t* x) { return (z_moved_mutex_t*)(x); }
static inline z_moved_publisher_t* z_publisher_move(z_owned_publisher_t* x) { return (z_moved_publisher_t*)(x); }
static inline z_moved_query_t* z_query_move(z_owned_query_t* x) { return (z_moved_query_t*)(x); }
@@ -33,38 +29,23 @@ static inline z_moved_ring_handler_reply_t* z_ring_handler_reply_move(z_owned_ri
static inline z_moved_ring_handler_sample_t* z_ring_handler_sample_move(z_owned_ring_handler_sample_t* x) { return (z_moved_ring_handler_sample_t*)(x); }
static inline z_moved_sample_t* z_sample_move(z_owned_sample_t* x) { return (z_moved_sample_t*)(x); }
static inline z_moved_session_t* z_session_move(z_owned_session_t* x) { return (z_moved_session_t*)(x); }
-static inline z_moved_shm_client_t* z_shm_client_move(z_owned_shm_client_t* x) { return (z_moved_shm_client_t*)(x); }
-static inline z_moved_shm_client_storage_t* z_shm_client_storage_move(z_owned_shm_client_storage_t* x) { return (z_moved_shm_client_storage_t*)(x); }
-static inline z_moved_shm_t* z_shm_move(z_owned_shm_t* x) { return (z_moved_shm_t*)(x); }
-static inline z_moved_shm_mut_t* z_shm_mut_move(z_owned_shm_mut_t* x) { return (z_moved_shm_mut_t*)(x); }
-static inline z_moved_shm_provider_t* z_shm_provider_move(z_owned_shm_provider_t* x) { return (z_moved_shm_provider_t*)(x); }
static inline z_moved_slice_t* z_slice_move(z_owned_slice_t* x) { return (z_moved_slice_t*)(x); }
-static inline z_moved_source_info_t* z_source_info_move(z_owned_source_info_t* x) { return (z_moved_source_info_t*)(x); }
static inline z_moved_string_array_t* z_string_array_move(z_owned_string_array_t* x) { return (z_moved_string_array_t*)(x); }
static inline z_moved_string_t* z_string_move(z_owned_string_t* x) { return (z_moved_string_t*)(x); }
static inline z_moved_subscriber_t* z_subscriber_move(z_owned_subscriber_t* x) { return (z_moved_subscriber_t*)(x); }
static inline z_moved_task_t* z_task_move(z_owned_task_t* x) { return (z_moved_task_t*)(x); }
static inline zc_moved_closure_log_t* zc_closure_log_move(zc_owned_closure_log_t* x) { return (zc_moved_closure_log_t*)(x); }
-static inline zc_moved_closure_matching_status_t* zc_closure_matching_status_move(zc_owned_closure_matching_status_t* x) { return (zc_moved_closure_matching_status_t*)(x); }
-static inline zc_moved_liveliness_token_t* zc_liveliness_token_move(zc_owned_liveliness_token_t* x) { return (zc_moved_liveliness_token_t*)(x); }
-static inline zc_moved_matching_listener_t* zc_publisher_matching_listener_move(zc_owned_matching_listener_t* x) { return (zc_moved_matching_listener_t*)(x); }
-static inline zc_moved_shm_client_list_t* zc_shm_client_list_move(zc_owned_shm_client_list_t* x) { return (zc_moved_shm_client_list_t*)(x); }
-static inline ze_moved_publication_cache_t* ze_publication_cache_move(ze_owned_publication_cache_t* x) { return (ze_moved_publication_cache_t*)(x); }
-static inline ze_moved_querying_subscriber_t* ze_querying_subscriber_move(ze_owned_querying_subscriber_t* x) { return (ze_moved_querying_subscriber_t*)(x); }
static inline ze_moved_serializer_t* ze_serializer_move(ze_owned_serializer_t* x) { return (ze_moved_serializer_t*)(x); }
#define z_loan(this_) \
_Generic((this_), \
- z_owned_alloc_layout_t : z_alloc_layout_loan, \
z_owned_bytes_t : z_bytes_loan, \
z_owned_bytes_writer_t : z_bytes_writer_loan, \
- z_owned_chunk_alloc_result_t : z_chunk_alloc_result_loan, \
z_owned_closure_hello_t : z_closure_hello_loan, \
z_owned_closure_query_t : z_closure_query_loan, \
z_owned_closure_reply_t : z_closure_reply_loan, \
z_owned_closure_sample_t : z_closure_sample_loan, \
- z_owned_closure_zid_t : z_closure_zid_loan, \
z_owned_condvar_t : z_condvar_loan, \
z_owned_config_t : z_config_loan, \
z_owned_encoding_t : z_encoding_loan, \
@@ -73,7 +54,6 @@ static inline ze_moved_serializer_t* ze_serializer_move(ze_owned_serializer_t* x
z_owned_fifo_handler_sample_t : z_fifo_handler_sample_loan, \
z_owned_hello_t : z_hello_loan, \
z_owned_keyexpr_t : z_keyexpr_loan, \
- z_owned_memory_layout_t : z_memory_layout_loan, \
z_owned_publisher_t : z_publisher_loan, \
z_owned_query_t : z_query_loan, \
z_owned_queryable_t : z_queryable_loan, \
@@ -84,12 +64,7 @@ static inline ze_moved_serializer_t* ze_serializer_move(ze_owned_serializer_t* x
z_owned_ring_handler_sample_t : z_ring_handler_sample_loan, \
z_owned_sample_t : z_sample_loan, \
z_owned_session_t : z_session_loan, \
- z_owned_shm_client_storage_t : z_shm_client_storage_loan, \
- z_owned_shm_t : z_shm_loan, \
- z_owned_shm_mut_t : z_shm_mut_loan, \
- z_owned_shm_provider_t : z_shm_provider_loan, \
z_owned_slice_t : z_slice_loan, \
- z_owned_source_info_t : z_source_info_loan, \
z_owned_string_array_t : z_string_array_loan, \
z_owned_string_t : z_string_loan, \
z_owned_subscriber_t : z_subscriber_loan, \
@@ -97,11 +72,6 @@ static inline ze_moved_serializer_t* ze_serializer_move(ze_owned_serializer_t* x
z_view_slice_t : z_view_slice_loan, \
z_view_string_t : z_view_string_loan, \
zc_owned_closure_log_t : zc_closure_log_loan, \
- zc_owned_closure_matching_status_t : zc_closure_matching_status_loan, \
- zc_owned_liveliness_token_t : zc_liveliness_token_loan, \
- zc_owned_shm_client_list_t : zc_shm_client_list_loan, \
- ze_owned_publication_cache_t : ze_publication_cache_loan, \
- ze_owned_querying_subscriber_t : ze_querying_subscriber_loan, \
ze_owned_serializer_t : ze_serializer_loan \
)(&this_)
@@ -115,24 +85,18 @@ static inline ze_moved_serializer_t* ze_serializer_move(ze_owned_serializer_t* x
z_owned_mutex_t : z_mutex_loan_mut, \
z_owned_publisher_t : z_publisher_loan_mut, \
z_owned_session_t : z_session_loan_mut, \
- z_owned_shm_t : z_shm_loan_mut, \
- z_owned_shm_mut_t : z_shm_mut_loan_mut, \
z_owned_string_array_t : z_string_array_loan_mut, \
- zc_owned_shm_client_list_t : zc_shm_client_list_loan_mut, \
ze_owned_serializer_t : ze_serializer_loan_mut \
)(&this_)
#define z_drop(this_) \
_Generic((this_), \
- z_moved_alloc_layout_t* : z_alloc_layout_drop, \
z_moved_bytes_t* : z_bytes_drop, \
z_moved_bytes_writer_t* : z_bytes_writer_drop, \
- z_moved_chunk_alloc_result_t* : z_chunk_alloc_result_drop, \
z_moved_closure_hello_t* : z_closure_hello_drop, \
z_moved_closure_query_t* : z_closure_query_drop, \
z_moved_closure_reply_t* : z_closure_reply_drop, \
z_moved_closure_sample_t* : z_closure_sample_drop, \
- z_moved_closure_zid_t* : z_closure_zid_drop, \
z_moved_condvar_t* : z_condvar_drop, \
z_moved_config_t* : z_config_drop, \
z_moved_encoding_t* : z_encoding_drop, \
@@ -141,7 +105,6 @@ static inline ze_moved_serializer_t* ze_serializer_move(ze_owned_serializer_t* x
z_moved_fifo_handler_sample_t* : z_fifo_handler_sample_drop, \
z_moved_hello_t* : z_hello_drop, \
z_moved_keyexpr_t* : z_keyexpr_drop, \
- z_moved_memory_layout_t* : z_memory_layout_drop, \
z_moved_mutex_t* : z_mutex_drop, \
z_moved_publisher_t* : z_publisher_drop, \
z_moved_query_t* : z_query_drop, \
@@ -153,38 +116,23 @@ static inline ze_moved_serializer_t* ze_serializer_move(ze_owned_serializer_t* x
z_moved_ring_handler_sample_t* : z_ring_handler_sample_drop, \
z_moved_sample_t* : z_sample_drop, \
z_moved_session_t* : z_session_drop, \
- z_moved_shm_client_t* : z_shm_client_drop, \
- z_moved_shm_client_storage_t* : z_shm_client_storage_drop, \
- z_moved_shm_t* : z_shm_drop, \
- z_moved_shm_mut_t* : z_shm_mut_drop, \
- z_moved_shm_provider_t* : z_shm_provider_drop, \
z_moved_slice_t* : z_slice_drop, \
- z_moved_source_info_t* : z_source_info_drop, \
z_moved_string_array_t* : z_string_array_drop, \
z_moved_string_t* : z_string_drop, \
z_moved_subscriber_t* : z_subscriber_drop, \
z_moved_task_t* : z_task_drop, \
zc_moved_closure_log_t* : zc_closure_log_drop, \
- zc_moved_closure_matching_status_t* : zc_closure_matching_status_drop, \
- zc_moved_liveliness_token_t* : zc_liveliness_token_drop, \
- zc_moved_matching_listener_t* : zc_publisher_matching_listener_drop, \
- zc_moved_shm_client_list_t* : zc_shm_client_list_drop, \
- ze_moved_publication_cache_t* : ze_publication_cache_drop, \
- ze_moved_querying_subscriber_t* : ze_querying_subscriber_drop, \
ze_moved_serializer_t* : ze_serializer_drop \
)(this_)
#define z_move(this_) \
_Generic((this_), \
- z_owned_alloc_layout_t : z_alloc_layout_move, \
z_owned_bytes_t : z_bytes_move, \
z_owned_bytes_writer_t : z_bytes_writer_move, \
- z_owned_chunk_alloc_result_t : z_chunk_alloc_result_move, \
z_owned_closure_hello_t : z_closure_hello_move, \
z_owned_closure_query_t : z_closure_query_move, \
z_owned_closure_reply_t : z_closure_reply_move, \
z_owned_closure_sample_t : z_closure_sample_move, \
- z_owned_closure_zid_t : z_closure_zid_move, \
z_owned_condvar_t : z_condvar_move, \
z_owned_config_t : z_config_move, \
z_owned_encoding_t : z_encoding_move, \
@@ -193,7 +141,6 @@ static inline ze_moved_serializer_t* ze_serializer_move(ze_owned_serializer_t* x
z_owned_fifo_handler_sample_t : z_fifo_handler_sample_move, \
z_owned_hello_t : z_hello_move, \
z_owned_keyexpr_t : z_keyexpr_move, \
- z_owned_memory_layout_t : z_memory_layout_move, \
z_owned_mutex_t : z_mutex_move, \
z_owned_publisher_t : z_publisher_move, \
z_owned_query_t : z_query_move, \
@@ -205,38 +152,23 @@ static inline ze_moved_serializer_t* ze_serializer_move(ze_owned_serializer_t* x
z_owned_ring_handler_sample_t : z_ring_handler_sample_move, \
z_owned_sample_t : z_sample_move, \
z_owned_session_t : z_session_move, \
- z_owned_shm_client_t : z_shm_client_move, \
- z_owned_shm_client_storage_t : z_shm_client_storage_move, \
- z_owned_shm_t : z_shm_move, \
- z_owned_shm_mut_t : z_shm_mut_move, \
- z_owned_shm_provider_t : z_shm_provider_move, \
z_owned_slice_t : z_slice_move, \
- z_owned_source_info_t : z_source_info_move, \
z_owned_string_array_t : z_string_array_move, \
z_owned_string_t : z_string_move, \
z_owned_subscriber_t : z_subscriber_move, \
z_owned_task_t : z_task_move, \
zc_owned_closure_log_t : zc_closure_log_move, \
- zc_owned_closure_matching_status_t : zc_closure_matching_status_move, \
- zc_owned_liveliness_token_t : zc_liveliness_token_move, \
- zc_owned_matching_listener_t : zc_publisher_matching_listener_move, \
- zc_owned_shm_client_list_t : zc_shm_client_list_move, \
- ze_owned_publication_cache_t : ze_publication_cache_move, \
- ze_owned_querying_subscriber_t : ze_querying_subscriber_move, \
ze_owned_serializer_t : ze_serializer_move \
)(&this_)
#define z_internal_null(this_) \
_Generic((this_), \
- z_owned_alloc_layout_t* : z_internal_alloc_layout_null, \
z_owned_bytes_t* : z_internal_bytes_null, \
z_owned_bytes_writer_t* : z_internal_bytes_writer_null, \
- z_owned_chunk_alloc_result_t* : z_internal_chunk_alloc_result_null, \
z_owned_closure_hello_t* : z_internal_closure_hello_null, \
z_owned_closure_query_t* : z_internal_closure_query_null, \
z_owned_closure_reply_t* : z_internal_closure_reply_null, \
z_owned_closure_sample_t* : z_internal_closure_sample_null, \
- z_owned_closure_zid_t* : z_internal_closure_zid_null, \
z_owned_condvar_t* : z_internal_condvar_null, \
z_owned_config_t* : z_internal_config_null, \
z_owned_encoding_t* : z_internal_encoding_null, \
@@ -245,7 +177,6 @@ static inline ze_moved_serializer_t* ze_serializer_move(ze_owned_serializer_t* x
z_owned_fifo_handler_sample_t* : z_internal_fifo_handler_sample_null, \
z_owned_hello_t* : z_internal_hello_null, \
z_owned_keyexpr_t* : z_internal_keyexpr_null, \
- z_owned_memory_layout_t* : z_internal_memory_layout_null, \
z_owned_mutex_t* : z_internal_mutex_null, \
z_owned_publisher_t* : z_internal_publisher_null, \
z_owned_query_t* : z_internal_query_null, \
@@ -257,36 +188,21 @@ static inline ze_moved_serializer_t* ze_serializer_move(ze_owned_serializer_t* x
z_owned_ring_handler_sample_t* : z_internal_ring_handler_sample_null, \
z_owned_sample_t* : z_internal_sample_null, \
z_owned_session_t* : z_internal_session_null, \
- z_owned_shm_client_t* : z_internal_shm_client_null, \
- z_owned_shm_client_storage_t* : z_internal_shm_client_storage_null, \
- z_owned_shm_mut_t* : z_internal_shm_mut_null, \
- z_owned_shm_t* : z_internal_shm_null, \
- z_owned_shm_provider_t* : z_internal_shm_provider_null, \
z_owned_slice_t* : z_internal_slice_null, \
- z_owned_source_info_t* : z_internal_source_info_null, \
z_owned_string_array_t* : z_internal_string_array_null, \
z_owned_string_t* : z_internal_string_null, \
z_owned_subscriber_t* : z_internal_subscriber_null, \
z_owned_task_t* : z_internal_task_null, \
zc_owned_closure_log_t* : zc_internal_closure_log_null, \
- zc_owned_closure_matching_status_t* : zc_internal_closure_matching_status_null, \
- zc_owned_liveliness_token_t* : zc_internal_liveliness_token_null, \
- zc_owned_matching_listener_t* : zc_internal_matching_listener_null, \
- zc_owned_shm_client_list_t* : zc_internal_shm_client_list_null, \
- ze_owned_publication_cache_t* : ze_internal_publication_cache_null, \
- ze_owned_querying_subscriber_t* : ze_internal_querying_subscriber_null, \
ze_owned_serializer_t* : ze_internal_serializer_null \
)(this_)
-static inline void z_alloc_layout_take(z_owned_alloc_layout_t* this_, z_moved_alloc_layout_t* x) { *this_ = x->_this; z_internal_alloc_layout_null(&x->_this); }
static inline void z_bytes_take(z_owned_bytes_t* this_, z_moved_bytes_t* x) { *this_ = x->_this; z_internal_bytes_null(&x->_this); }
static inline void z_bytes_writer_take(z_owned_bytes_writer_t* this_, z_moved_bytes_writer_t* x) { *this_ = x->_this; z_internal_bytes_writer_null(&x->_this); }
-static inline void z_chunk_alloc_result_take(z_owned_chunk_alloc_result_t* this_, z_moved_chunk_alloc_result_t* x) { *this_ = x->_this; z_internal_chunk_alloc_result_null(&x->_this); }
static inline void z_closure_hello_take(z_owned_closure_hello_t* this_, z_moved_closure_hello_t* x) { *this_ = x->_this; z_internal_closure_hello_null(&x->_this); }
static inline void z_closure_query_take(z_owned_closure_query_t* closure_, z_moved_closure_query_t* x) { *closure_ = x->_this; z_internal_closure_query_null(&x->_this); }
static inline void z_closure_reply_take(z_owned_closure_reply_t* closure_, z_moved_closure_reply_t* x) { *closure_ = x->_this; z_internal_closure_reply_null(&x->_this); }
static inline void z_closure_sample_take(z_owned_closure_sample_t* closure_, z_moved_closure_sample_t* x) { *closure_ = x->_this; z_internal_closure_sample_null(&x->_this); }
-static inline void z_closure_zid_take(z_owned_closure_zid_t* closure_, z_moved_closure_zid_t* x) { *closure_ = x->_this; z_internal_closure_zid_null(&x->_this); }
static inline void z_condvar_take(z_owned_condvar_t* this_, z_moved_condvar_t* x) { *this_ = x->_this; z_internal_condvar_null(&x->_this); }
static inline void z_config_take(z_owned_config_t* this_, z_moved_config_t* x) { *this_ = x->_this; z_internal_config_null(&x->_this); }
static inline void z_encoding_take(z_owned_encoding_t* this_, z_moved_encoding_t* x) { *this_ = x->_this; z_internal_encoding_null(&x->_this); }
@@ -295,7 +211,6 @@ static inline void z_fifo_handler_reply_take(z_owned_fifo_handler_reply_t* this_
static inline void z_fifo_handler_sample_take(z_owned_fifo_handler_sample_t* this_, z_moved_fifo_handler_sample_t* x) { *this_ = x->_this; z_internal_fifo_handler_sample_null(&x->_this); }
static inline void z_hello_take(z_owned_hello_t* this_, z_moved_hello_t* x) { *this_ = x->_this; z_internal_hello_null(&x->_this); }
static inline void z_keyexpr_take(z_owned_keyexpr_t* this_, z_moved_keyexpr_t* x) { *this_ = x->_this; z_internal_keyexpr_null(&x->_this); }
-static inline void z_memory_layout_take(z_owned_memory_layout_t* this_, z_moved_memory_layout_t* x) { *this_ = x->_this; z_internal_memory_layout_null(&x->_this); }
static inline void z_mutex_take(z_owned_mutex_t* this_, z_moved_mutex_t* x) { *this_ = x->_this; z_internal_mutex_null(&x->_this); }
static inline void z_publisher_take(z_owned_publisher_t* this_, z_moved_publisher_t* x) { *this_ = x->_this; z_internal_publisher_null(&x->_this); }
static inline void z_query_take(z_owned_query_t* this_, z_moved_query_t* x) { *this_ = x->_this; z_internal_query_null(&x->_this); }
@@ -307,38 +222,23 @@ static inline void z_ring_handler_reply_take(z_owned_ring_handler_reply_t* this_
static inline void z_ring_handler_sample_take(z_owned_ring_handler_sample_t* this_, z_moved_ring_handler_sample_t* x) { *this_ = x->_this; z_internal_ring_handler_sample_null(&x->_this); }
static inline void z_sample_take(z_owned_sample_t* this_, z_moved_sample_t* x) { *this_ = x->_this; z_internal_sample_null(&x->_this); }
static inline void z_session_take(z_owned_session_t* this_, z_moved_session_t* x) { *this_ = x->_this; z_internal_session_null(&x->_this); }
-static inline void z_shm_client_take(z_owned_shm_client_t* this_, z_moved_shm_client_t* x) { *this_ = x->_this; z_internal_shm_client_null(&x->_this); }
-static inline void z_shm_client_storage_take(z_owned_shm_client_storage_t* this_, z_moved_shm_client_storage_t* x) { *this_ = x->_this; z_internal_shm_client_storage_null(&x->_this); }
-static inline void z_shm_take(z_owned_shm_t* this_, z_moved_shm_t* x) { *this_ = x->_this; z_internal_shm_null(&x->_this); }
-static inline void z_shm_mut_take(z_owned_shm_mut_t* this_, z_moved_shm_mut_t* x) { *this_ = x->_this; z_internal_shm_mut_null(&x->_this); }
-static inline void z_shm_provider_take(z_owned_shm_provider_t* this_, z_moved_shm_provider_t* x) { *this_ = x->_this; z_internal_shm_provider_null(&x->_this); }
static inline void z_slice_take(z_owned_slice_t* this_, z_moved_slice_t* x) { *this_ = x->_this; z_internal_slice_null(&x->_this); }
-static inline void z_source_info_take(z_owned_source_info_t* this_, z_moved_source_info_t* x) { *this_ = x->_this; z_internal_source_info_null(&x->_this); }
static inline void z_string_array_take(z_owned_string_array_t* this_, z_moved_string_array_t* x) { *this_ = x->_this; z_internal_string_array_null(&x->_this); }
static inline void z_string_take(z_owned_string_t* this_, z_moved_string_t* x) { *this_ = x->_this; z_internal_string_null(&x->_this); }
static inline void z_subscriber_take(z_owned_subscriber_t* this_, z_moved_subscriber_t* x) { *this_ = x->_this; z_internal_subscriber_null(&x->_this); }
static inline void z_task_take(z_owned_task_t* this_, z_moved_task_t* x) { *this_ = x->_this; z_internal_task_null(&x->_this); }
static inline void zc_closure_log_take(zc_owned_closure_log_t* closure_, zc_moved_closure_log_t* x) { *closure_ = x->_this; zc_internal_closure_log_null(&x->_this); }
-static inline void zc_closure_matching_status_take(zc_owned_closure_matching_status_t* closure_, zc_moved_closure_matching_status_t* x) { *closure_ = x->_this; zc_internal_closure_matching_status_null(&x->_this); }
-static inline void zc_liveliness_token_take(zc_owned_liveliness_token_t* this_, zc_moved_liveliness_token_t* x) { *this_ = x->_this; zc_internal_liveliness_token_null(&x->_this); }
-static inline void zc_publisher_matching_listener_take(zc_owned_matching_listener_t* this_, zc_moved_matching_listener_t* x) { *this_ = x->_this; zc_internal_matching_listener_null(&x->_this); }
-static inline void zc_shm_client_list_take(zc_owned_shm_client_list_t* this_, zc_moved_shm_client_list_t* x) { *this_ = x->_this; zc_internal_shm_client_list_null(&x->_this); }
-static inline void ze_publication_cache_take(ze_owned_publication_cache_t* this_, ze_moved_publication_cache_t* x) { *this_ = x->_this; ze_internal_publication_cache_null(&x->_this); }
-static inline void ze_querying_subscriber_take(ze_owned_querying_subscriber_t* this_, ze_moved_querying_subscriber_t* x) { *this_ = x->_this; ze_internal_querying_subscriber_null(&x->_this); }
static inline void ze_serializer_take(ze_owned_serializer_t* this_, ze_moved_serializer_t* x) { *this_ = x->_this; ze_internal_serializer_null(&x->_this); }
#define z_take(this_, x) \
_Generic((this_), \
- z_owned_alloc_layout_t* : z_alloc_layout_take, \
z_owned_bytes_t* : z_bytes_take, \
z_owned_bytes_writer_t* : z_bytes_writer_take, \
- z_owned_chunk_alloc_result_t* : z_chunk_alloc_result_take, \
z_owned_closure_hello_t* : z_closure_hello_take, \
z_owned_closure_query_t* : z_closure_query_take, \
z_owned_closure_reply_t* : z_closure_reply_take, \
z_owned_closure_sample_t* : z_closure_sample_take, \
- z_owned_closure_zid_t* : z_closure_zid_take, \
z_owned_condvar_t* : z_condvar_take, \
z_owned_config_t* : z_config_take, \
z_owned_encoding_t* : z_encoding_take, \
@@ -347,7 +247,6 @@ static inline void ze_serializer_take(ze_owned_serializer_t* this_, ze_moved_ser
z_owned_fifo_handler_sample_t* : z_fifo_handler_sample_take, \
z_owned_hello_t* : z_hello_take, \
z_owned_keyexpr_t* : z_keyexpr_take, \
- z_owned_memory_layout_t* : z_memory_layout_take, \
z_owned_mutex_t* : z_mutex_take, \
z_owned_publisher_t* : z_publisher_take, \
z_owned_query_t* : z_query_take, \
@@ -359,38 +258,23 @@ static inline void ze_serializer_take(ze_owned_serializer_t* this_, ze_moved_ser
z_owned_ring_handler_sample_t* : z_ring_handler_sample_take, \
z_owned_sample_t* : z_sample_take, \
z_owned_session_t* : z_session_take, \
- z_owned_shm_client_t* : z_shm_client_take, \
- z_owned_shm_client_storage_t* : z_shm_client_storage_take, \
- z_owned_shm_t* : z_shm_take, \
- z_owned_shm_mut_t* : z_shm_mut_take, \
- z_owned_shm_provider_t* : z_shm_provider_take, \
z_owned_slice_t* : z_slice_take, \
- z_owned_source_info_t* : z_source_info_take, \
z_owned_string_array_t* : z_string_array_take, \
z_owned_string_t* : z_string_take, \
z_owned_subscriber_t* : z_subscriber_take, \
z_owned_task_t* : z_task_take, \
zc_owned_closure_log_t* : zc_closure_log_take, \
- zc_owned_closure_matching_status_t* : zc_closure_matching_status_take, \
- zc_owned_liveliness_token_t* : zc_liveliness_token_take, \
- zc_owned_matching_listener_t* : zc_publisher_matching_listener_take, \
- zc_owned_shm_client_list_t* : zc_shm_client_list_take, \
- ze_owned_publication_cache_t* : ze_publication_cache_take, \
- ze_owned_querying_subscriber_t* : ze_querying_subscriber_take, \
ze_owned_serializer_t* : ze_serializer_take \
)(this_, x)
#define z_internal_check(this_) \
_Generic((this_), \
- z_owned_alloc_layout_t : z_internal_alloc_layout_check, \
z_owned_bytes_t : z_internal_bytes_check, \
z_owned_bytes_writer_t : z_internal_bytes_writer_check, \
- z_owned_chunk_alloc_result_t : z_internal_chunk_alloc_result_check, \
z_owned_closure_hello_t : z_internal_closure_hello_check, \
z_owned_closure_query_t : z_internal_closure_query_check, \
z_owned_closure_reply_t : z_internal_closure_reply_check, \
z_owned_closure_sample_t : z_internal_closure_sample_check, \
- z_owned_closure_zid_t : z_internal_closure_zid_check, \
z_owned_condvar_t : z_internal_condvar_check, \
z_owned_config_t : z_internal_config_check, \
z_owned_encoding_t : z_internal_encoding_check, \
@@ -399,7 +283,6 @@ static inline void ze_serializer_take(ze_owned_serializer_t* this_, ze_moved_ser
z_owned_fifo_handler_sample_t : z_internal_fifo_handler_sample_check, \
z_owned_hello_t : z_internal_hello_check, \
z_owned_keyexpr_t : z_internal_keyexpr_check, \
- z_owned_memory_layout_t : z_internal_memory_layout_check, \
z_owned_mutex_t : z_internal_mutex_check, \
z_owned_publisher_t : z_internal_publisher_check, \
z_owned_query_t : z_internal_query_check, \
@@ -411,24 +294,12 @@ static inline void ze_serializer_take(ze_owned_serializer_t* this_, ze_moved_ser
z_owned_ring_handler_sample_t : z_internal_ring_handler_sample_check, \
z_owned_sample_t : z_internal_sample_check, \
z_owned_session_t : z_internal_session_check, \
- z_owned_shm_t : z_internal_shm_check, \
- z_owned_shm_client_t : z_internal_shm_client_check, \
- z_owned_shm_client_storage_t : z_internal_shm_client_storage_check, \
- z_owned_shm_mut_t : z_internal_shm_mut_check, \
- z_owned_shm_provider_t : z_internal_shm_provider_check, \
z_owned_slice_t : z_internal_slice_check, \
- z_owned_source_info_t : z_internal_source_info_check, \
z_owned_string_array_t : z_internal_string_array_check, \
z_owned_string_t : z_internal_string_check, \
z_owned_subscriber_t : z_internal_subscriber_check, \
z_owned_task_t : z_internal_task_check, \
zc_owned_closure_log_t : zc_internal_closure_log_check, \
- zc_owned_closure_matching_status_t : zc_internal_closure_matching_status_check, \
- zc_owned_liveliness_token_t : zc_internal_liveliness_token_check, \
- zc_owned_matching_listener_t : zc_internal_matching_listener_check, \
- zc_owned_shm_client_list_t : zc_internal_shm_client_list_check, \
- ze_owned_publication_cache_t : ze_internal_publication_cache_check, \
- ze_owned_querying_subscriber_t : ze_internal_querying_subscriber_check, \
ze_owned_serializer_t : ze_internal_serializer_check \
)(&this_)
@@ -437,9 +308,7 @@ static inline void ze_serializer_take(ze_owned_serializer_t* this_, ze_moved_ser
const z_loaned_closure_hello_t* : z_closure_hello_call, \
const z_loaned_closure_query_t* : z_closure_query_call, \
const z_loaned_closure_reply_t* : z_closure_reply_call, \
- const z_loaned_closure_sample_t* : z_closure_sample_call, \
- const z_loaned_closure_zid_t* : z_closure_zid_call, \
- const zc_loaned_closure_matching_status_t* : zc_closure_matching_status_call \
+ const z_loaned_closure_sample_t* : z_closure_sample_call \
)(closure, hello)
#define z_closure(this_, call, drop, context) \
@@ -448,9 +317,7 @@ static inline void ze_serializer_take(ze_owned_serializer_t* this_, ze_moved_ser
z_owned_closure_query_t* : z_closure_query, \
z_owned_closure_reply_t* : z_closure_reply, \
z_owned_closure_sample_t* : z_closure_sample, \
- z_owned_closure_zid_t* : z_closure_zid, \
- zc_owned_closure_log_t* : zc_closure_log, \
- zc_owned_closure_matching_status_t* : zc_closure_matching_status \
+ zc_owned_closure_log_t* : zc_closure_log \
)(this_, call, drop, context)
#define z_try_recv(this_, query) \
@@ -484,8 +351,6 @@ static inline void ze_serializer_take(ze_owned_serializer_t* this_, ze_moved_ser
z_owned_reply_t* : z_reply_clone, \
z_owned_reply_err_t* : z_reply_err_clone, \
z_owned_sample_t* : z_sample_clone, \
- z_owned_shm_client_storage_t* : z_shm_client_storage_clone, \
- z_owned_shm_t* : z_shm_clone, \
z_owned_slice_t* : z_slice_clone, \
z_owned_string_array_t* : z_string_array_clone, \
z_owned_string_t* : z_string_clone \
@@ -493,15 +358,12 @@ static inline void ze_serializer_take(ze_owned_serializer_t* this_, ze_moved_ser
#else // #ifndef __cplusplus
-static inline z_moved_alloc_layout_t* z_alloc_layout_move(z_owned_alloc_layout_t* x) { return reinterpret_cast(x); }
static inline z_moved_bytes_t* z_bytes_move(z_owned_bytes_t* x) { return reinterpret_cast(x); }
static inline z_moved_bytes_writer_t* z_bytes_writer_move(z_owned_bytes_writer_t* x) { return reinterpret_cast(x); }
-static inline z_moved_chunk_alloc_result_t* z_chunk_alloc_result_move(z_owned_chunk_alloc_result_t* x) { return reinterpret_cast(x); }
static inline z_moved_closure_hello_t* z_closure_hello_move(z_owned_closure_hello_t* x) { return reinterpret_cast(x); }
static inline z_moved_closure_query_t* z_closure_query_move(z_owned_closure_query_t* x) { return reinterpret_cast(x); }
static inline z_moved_closure_reply_t* z_closure_reply_move(z_owned_closure_reply_t* x) { return reinterpret_cast(x); }
static inline z_moved_closure_sample_t* z_closure_sample_move(z_owned_closure_sample_t* x) { return reinterpret_cast(x); }
-static inline z_moved_closure_zid_t* z_closure_zid_move(z_owned_closure_zid_t* x) { return reinterpret_cast(x); }
static inline z_moved_condvar_t* z_condvar_move(z_owned_condvar_t* x) { return reinterpret_cast(x); }
static inline z_moved_config_t* z_config_move(z_owned_config_t* x) { return reinterpret_cast(x); }
static inline z_moved_encoding_t* z_encoding_move(z_owned_encoding_t* x) { return reinterpret_cast(x); }
@@ -510,7 +372,6 @@ static inline z_moved_fifo_handler_reply_t* z_fifo_handler_reply_move(z_owned_fi
static inline z_moved_fifo_handler_sample_t* z_fifo_handler_sample_move(z_owned_fifo_handler_sample_t* x) { return reinterpret_cast(x); }
static inline z_moved_hello_t* z_hello_move(z_owned_hello_t* x) { return reinterpret_cast(x); }
static inline z_moved_keyexpr_t* z_keyexpr_move(z_owned_keyexpr_t* x) { return reinterpret_cast(x); }
-static inline z_moved_memory_layout_t* z_memory_layout_move(z_owned_memory_layout_t* x) { return reinterpret_cast(x); }
static inline z_moved_mutex_t* z_mutex_move(z_owned_mutex_t* x) { return reinterpret_cast(x); }
static inline z_moved_publisher_t* z_publisher_move(z_owned_publisher_t* x) { return reinterpret_cast(x); }
static inline z_moved_query_t* z_query_move(z_owned_query_t* x) { return reinterpret_cast(x); }
@@ -522,37 +383,22 @@ static inline z_moved_ring_handler_reply_t* z_ring_handler_reply_move(z_owned_ri
static inline z_moved_ring_handler_sample_t* z_ring_handler_sample_move(z_owned_ring_handler_sample_t* x) { return reinterpret_cast(x); }
static inline z_moved_sample_t* z_sample_move(z_owned_sample_t* x) { return reinterpret_cast(x); }
static inline z_moved_session_t* z_session_move(z_owned_session_t* x) { return reinterpret_cast(x); }
-static inline z_moved_shm_client_t* z_shm_client_move(z_owned_shm_client_t* x) { return reinterpret_cast(x); }
-static inline z_moved_shm_client_storage_t* z_shm_client_storage_move(z_owned_shm_client_storage_t* x) { return reinterpret_cast(x); }
-static inline z_moved_shm_t* z_shm_move(z_owned_shm_t* x) { return reinterpret_cast(x); }
-static inline z_moved_shm_mut_t* z_shm_mut_move(z_owned_shm_mut_t* x) { return reinterpret_cast(x); }
-static inline z_moved_shm_provider_t* z_shm_provider_move(z_owned_shm_provider_t* x) { return reinterpret_cast(x); }
static inline z_moved_slice_t* z_slice_move(z_owned_slice_t* x) { return reinterpret_cast(x); }
-static inline z_moved_source_info_t* z_source_info_move(z_owned_source_info_t* x) { return reinterpret_cast(x); }
static inline z_moved_string_array_t* z_string_array_move(z_owned_string_array_t* x) { return reinterpret_cast(x); }
static inline z_moved_string_t* z_string_move(z_owned_string_t* x) { return reinterpret_cast(x); }
static inline z_moved_subscriber_t* z_subscriber_move(z_owned_subscriber_t* x) { return reinterpret_cast(x); }
static inline z_moved_task_t* z_task_move(z_owned_task_t* x) { return reinterpret_cast(x); }
static inline zc_moved_closure_log_t* zc_closure_log_move(zc_owned_closure_log_t* x) { return reinterpret_cast(x); }
-static inline zc_moved_closure_matching_status_t* zc_closure_matching_status_move(zc_owned_closure_matching_status_t* x) { return reinterpret_cast(x); }
-static inline zc_moved_liveliness_token_t* zc_liveliness_token_move(zc_owned_liveliness_token_t* x) { return reinterpret_cast(x); }
-static inline zc_moved_matching_listener_t* zc_publisher_matching_listener_move(zc_owned_matching_listener_t* x) { return reinterpret_cast(x); }
-static inline zc_moved_shm_client_list_t* zc_shm_client_list_move(zc_owned_shm_client_list_t* x) { return reinterpret_cast(x); }
-static inline ze_moved_publication_cache_t* ze_publication_cache_move(ze_owned_publication_cache_t* x) { return reinterpret_cast(x); }
-static inline ze_moved_querying_subscriber_t* ze_querying_subscriber_move(ze_owned_querying_subscriber_t* x) { return reinterpret_cast(x); }
static inline ze_moved_serializer_t* ze_serializer_move(ze_owned_serializer_t* x) { return reinterpret_cast(x); }
-inline const z_loaned_alloc_layout_t* z_loan(const z_owned_alloc_layout_t& this_) { return z_alloc_layout_loan(&this_); };
inline const z_loaned_bytes_t* z_loan(const z_owned_bytes_t& this_) { return z_bytes_loan(&this_); };
inline const z_loaned_bytes_writer_t* z_loan(const z_owned_bytes_writer_t& this_) { return z_bytes_writer_loan(&this_); };
-inline const z_loaned_chunk_alloc_result_t* z_loan(const z_owned_chunk_alloc_result_t& this_) { return z_chunk_alloc_result_loan(&this_); };
inline const z_loaned_closure_hello_t* z_loan(const z_owned_closure_hello_t& closure) { return z_closure_hello_loan(&closure); };
inline const z_loaned_closure_query_t* z_loan(const z_owned_closure_query_t& closure) { return z_closure_query_loan(&closure); };
inline const z_loaned_closure_reply_t* z_loan(const z_owned_closure_reply_t& closure) { return z_closure_reply_loan(&closure); };
inline const z_loaned_closure_sample_t* z_loan(const z_owned_closure_sample_t& closure) { return z_closure_sample_loan(&closure); };
-inline const z_loaned_closure_zid_t* z_loan(const z_owned_closure_zid_t& closure) { return z_closure_zid_loan(&closure); };
inline const z_loaned_condvar_t* z_loan(const z_owned_condvar_t& this_) { return z_condvar_loan(&this_); };
inline const z_loaned_config_t* z_loan(const z_owned_config_t& this_) { return z_config_loan(&this_); };
inline const z_loaned_encoding_t* z_loan(const z_owned_encoding_t& this_) { return z_encoding_loan(&this_); };
@@ -561,7 +407,6 @@ inline const z_loaned_fifo_handler_reply_t* z_loan(const z_owned_fifo_handler_re
inline const z_loaned_fifo_handler_sample_t* z_loan(const z_owned_fifo_handler_sample_t& this_) { return z_fifo_handler_sample_loan(&this_); };
inline const z_loaned_hello_t* z_loan(const z_owned_hello_t& this_) { return z_hello_loan(&this_); };
inline const z_loaned_keyexpr_t* z_loan(const z_owned_keyexpr_t& this_) { return z_keyexpr_loan(&this_); };
-inline const z_loaned_memory_layout_t* z_loan(const z_owned_memory_layout_t& this_) { return z_memory_layout_loan(&this_); };
inline const z_loaned_publisher_t* z_loan(const z_owned_publisher_t& this_) { return z_publisher_loan(&this_); };
inline const z_loaned_query_t* z_loan(const z_owned_query_t& this_) { return z_query_loan(&this_); };
inline const z_loaned_queryable_t* z_loan(const z_owned_queryable_t& this_) { return z_queryable_loan(&this_); };
@@ -572,12 +417,7 @@ inline const z_loaned_ring_handler_reply_t* z_loan(const z_owned_ring_handler_re
inline const z_loaned_ring_handler_sample_t* z_loan(const z_owned_ring_handler_sample_t& this_) { return z_ring_handler_sample_loan(&this_); };
inline const z_loaned_sample_t* z_loan(const z_owned_sample_t& this_) { return z_sample_loan(&this_); };
inline const z_loaned_session_t* z_loan(const z_owned_session_t& this_) { return z_session_loan(&this_); };
-inline const z_loaned_shm_client_storage_t* z_loan(const z_owned_shm_client_storage_t& this_) { return z_shm_client_storage_loan(&this_); };
-inline const z_loaned_shm_t* z_loan(const z_owned_shm_t& this_) { return z_shm_loan(&this_); };
-inline const z_loaned_shm_mut_t* z_loan(const z_owned_shm_mut_t& this_) { return z_shm_mut_loan(&this_); };
-inline const z_loaned_shm_provider_t* z_loan(const z_owned_shm_provider_t& this_) { return z_shm_provider_loan(&this_); };
inline const z_loaned_slice_t* z_loan(const z_owned_slice_t& this_) { return z_slice_loan(&this_); };
-inline const z_loaned_source_info_t* z_loan(const z_owned_source_info_t& this_) { return z_source_info_loan(&this_); };
inline const z_loaned_string_array_t* z_loan(const z_owned_string_array_t& this_) { return z_string_array_loan(&this_); };
inline const z_loaned_string_t* z_loan(const z_owned_string_t& this_) { return z_string_loan(&this_); };
inline const z_loaned_subscriber_t* z_loan(const z_owned_subscriber_t& this_) { return z_subscriber_loan(&this_); };
@@ -585,11 +425,6 @@ inline const z_loaned_keyexpr_t* z_loan(const z_view_keyexpr_t& this_) { return
inline const z_loaned_slice_t* z_loan(const z_view_slice_t& this_) { return z_view_slice_loan(&this_); };
inline const z_loaned_string_t* z_loan(const z_view_string_t& this_) { return z_view_string_loan(&this_); };
inline const zc_loaned_closure_log_t* z_loan(const zc_owned_closure_log_t& closure) { return zc_closure_log_loan(&closure); };
-inline const zc_loaned_closure_matching_status_t* z_loan(const zc_owned_closure_matching_status_t& closure) { return zc_closure_matching_status_loan(&closure); };
-inline const zc_loaned_liveliness_token_t* z_loan(const zc_owned_liveliness_token_t& this_) { return zc_liveliness_token_loan(&this_); };
-inline const zc_loaned_shm_client_list_t* z_loan(const zc_owned_shm_client_list_t& this_) { return zc_shm_client_list_loan(&this_); };
-inline const ze_loaned_publication_cache_t* z_loan(const ze_owned_publication_cache_t& this_) { return ze_publication_cache_loan(&this_); };
-inline const ze_loaned_querying_subscriber_t* z_loan(const ze_owned_querying_subscriber_t& this_) { return ze_querying_subscriber_loan(&this_); };
inline const ze_loaned_serializer_t* z_loan(const ze_owned_serializer_t& this_) { return ze_serializer_loan(&this_); };
@@ -601,22 +436,16 @@ inline z_loaned_encoding_t* z_loan_mut(z_owned_encoding_t& this_) { return z_enc
inline z_loaned_mutex_t* z_loan_mut(z_owned_mutex_t& this_) { return z_mutex_loan_mut(&this_); };
inline z_loaned_publisher_t* z_loan_mut(z_owned_publisher_t& this_) { return z_publisher_loan_mut(&this_); };
inline z_loaned_session_t* z_loan_mut(z_owned_session_t& this_) { return z_session_loan_mut(&this_); };
-inline z_loaned_shm_t* z_loan_mut(z_owned_shm_t& this_) { return z_shm_loan_mut(&this_); };
-inline z_loaned_shm_mut_t* z_loan_mut(z_owned_shm_mut_t& this_) { return z_shm_mut_loan_mut(&this_); };
inline z_loaned_string_array_t* z_loan_mut(z_owned_string_array_t& this_) { return z_string_array_loan_mut(&this_); };
-inline zc_loaned_shm_client_list_t* z_loan_mut(zc_owned_shm_client_list_t& this_) { return zc_shm_client_list_loan_mut(&this_); };
inline ze_loaned_serializer_t* z_loan_mut(ze_owned_serializer_t& this_) { return ze_serializer_loan_mut(&this_); };
-inline void z_drop(z_moved_alloc_layout_t* this_) { z_alloc_layout_drop(this_); };
inline void z_drop(z_moved_bytes_t* this_) { z_bytes_drop(this_); };
inline void z_drop(z_moved_bytes_writer_t* this_) { z_bytes_writer_drop(this_); };
-inline void z_drop(z_moved_chunk_alloc_result_t* this_) { z_chunk_alloc_result_drop(this_); };
inline void z_drop(z_moved_closure_hello_t* this_) { z_closure_hello_drop(this_); };
inline void z_drop(z_moved_closure_query_t* closure_) { z_closure_query_drop(closure_); };
inline void z_drop(z_moved_closure_reply_t* closure_) { z_closure_reply_drop(closure_); };
inline void z_drop(z_moved_closure_sample_t* closure_) { z_closure_sample_drop(closure_); };
-inline void z_drop(z_moved_closure_zid_t* closure_) { z_closure_zid_drop(closure_); };
inline void z_drop(z_moved_condvar_t* this_) { z_condvar_drop(this_); };
inline void z_drop(z_moved_config_t* this_) { z_config_drop(this_); };
inline void z_drop(z_moved_encoding_t* this_) { z_encoding_drop(this_); };
@@ -625,7 +454,6 @@ inline void z_drop(z_moved_fifo_handler_reply_t* this_) { z_fifo_handler_reply_d
inline void z_drop(z_moved_fifo_handler_sample_t* this_) { z_fifo_handler_sample_drop(this_); };
inline void z_drop(z_moved_hello_t* this_) { z_hello_drop(this_); };
inline void z_drop(z_moved_keyexpr_t* this_) { z_keyexpr_drop(this_); };
-inline void z_drop(z_moved_memory_layout_t* this_) { z_memory_layout_drop(this_); };
inline void z_drop(z_moved_mutex_t* this_) { z_mutex_drop(this_); };
inline void z_drop(z_moved_publisher_t* this_) { z_publisher_drop(this_); };
inline void z_drop(z_moved_query_t* this_) { z_query_drop(this_); };
@@ -637,36 +465,21 @@ inline void z_drop(z_moved_ring_handler_reply_t* this_) { z_ring_handler_reply_d
inline void z_drop(z_moved_ring_handler_sample_t* this_) { z_ring_handler_sample_drop(this_); };
inline void z_drop(z_moved_sample_t* this_) { z_sample_drop(this_); };
inline void z_drop(z_moved_session_t* this_) { z_session_drop(this_); };
-inline void z_drop(z_moved_shm_client_t* this_) { z_shm_client_drop(this_); };
-inline void z_drop(z_moved_shm_client_storage_t* this_) { z_shm_client_storage_drop(this_); };
-inline void z_drop(z_moved_shm_t* this_) { z_shm_drop(this_); };
-inline void z_drop(z_moved_shm_mut_t* this_) { z_shm_mut_drop(this_); };
-inline void z_drop(z_moved_shm_provider_t* this_) { z_shm_provider_drop(this_); };
inline void z_drop(z_moved_slice_t* this_) { z_slice_drop(this_); };
-inline void z_drop(z_moved_source_info_t* this_) { z_source_info_drop(this_); };
inline void z_drop(z_moved_string_array_t* this_) { z_string_array_drop(this_); };
inline void z_drop(z_moved_string_t* this_) { z_string_drop(this_); };
inline void z_drop(z_moved_subscriber_t* this_) { z_subscriber_drop(this_); };
inline void z_drop(z_moved_task_t* this_) { z_task_drop(this_); };
inline void z_drop(zc_moved_closure_log_t* closure_) { zc_closure_log_drop(closure_); };
-inline void z_drop(zc_moved_closure_matching_status_t* closure_) { zc_closure_matching_status_drop(closure_); };
-inline void z_drop(zc_moved_liveliness_token_t* this_) { zc_liveliness_token_drop(this_); };
-inline void z_drop(zc_moved_matching_listener_t* this_) { zc_publisher_matching_listener_drop(this_); };
-inline void z_drop(zc_moved_shm_client_list_t* this_) { zc_shm_client_list_drop(this_); };
-inline void z_drop(ze_moved_publication_cache_t* this_) { ze_publication_cache_drop(this_); };
-inline void z_drop(ze_moved_querying_subscriber_t* this_) { ze_querying_subscriber_drop(this_); };
inline void z_drop(ze_moved_serializer_t* this_) { ze_serializer_drop(this_); };
-inline z_moved_alloc_layout_t* z_move(z_owned_alloc_layout_t& this_) { return z_alloc_layout_move(&this_); };
inline z_moved_bytes_t* z_move(z_owned_bytes_t& this_) { return z_bytes_move(&this_); };
inline z_moved_bytes_writer_t* z_move(z_owned_bytes_writer_t& this_) { return z_bytes_writer_move(&this_); };
-inline z_moved_chunk_alloc_result_t* z_move(z_owned_chunk_alloc_result_t& this_) { return z_chunk_alloc_result_move(&this_); };
inline z_moved_closure_hello_t* z_move(z_owned_closure_hello_t& this_) { return z_closure_hello_move(&this_); };
inline z_moved_closure_query_t* z_move(z_owned_closure_query_t& closure_) { return z_closure_query_move(&closure_); };
inline z_moved_closure_reply_t* z_move(z_owned_closure_reply_t& closure_) { return z_closure_reply_move(&closure_); };
inline z_moved_closure_sample_t* z_move(z_owned_closure_sample_t& closure_) { return z_closure_sample_move(&closure_); };
-inline z_moved_closure_zid_t* z_move(z_owned_closure_zid_t& closure_) { return z_closure_zid_move(&closure_); };
inline z_moved_condvar_t* z_move(z_owned_condvar_t& this_) { return z_condvar_move(&this_); };
inline z_moved_config_t* z_move(z_owned_config_t& this_) { return z_config_move(&this_); };
inline z_moved_encoding_t* z_move(z_owned_encoding_t& this_) { return z_encoding_move(&this_); };
@@ -675,7 +488,6 @@ inline z_moved_fifo_handler_reply_t* z_move(z_owned_fifo_handler_reply_t& this_)
inline z_moved_fifo_handler_sample_t* z_move(z_owned_fifo_handler_sample_t& this_) { return z_fifo_handler_sample_move(&this_); };
inline z_moved_hello_t* z_move(z_owned_hello_t& this_) { return z_hello_move(&this_); };
inline z_moved_keyexpr_t* z_move(z_owned_keyexpr_t& this_) { return z_keyexpr_move(&this_); };
-inline z_moved_memory_layout_t* z_move(z_owned_memory_layout_t& this_) { return z_memory_layout_move(&this_); };
inline z_moved_mutex_t* z_move(z_owned_mutex_t& this_) { return z_mutex_move(&this_); };
inline z_moved_publisher_t* z_move(z_owned_publisher_t& this_) { return z_publisher_move(&this_); };
inline z_moved_query_t* z_move(z_owned_query_t& this_) { return z_query_move(&this_); };
@@ -687,36 +499,21 @@ inline z_moved_ring_handler_reply_t* z_move(z_owned_ring_handler_reply_t& this_)
inline z_moved_ring_handler_sample_t* z_move(z_owned_ring_handler_sample_t& this_) { return z_ring_handler_sample_move(&this_); };
inline z_moved_sample_t* z_move(z_owned_sample_t& this_) { return z_sample_move(&this_); };
inline z_moved_session_t* z_move(z_owned_session_t& this_) { return z_session_move(&this_); };
-inline z_moved_shm_client_t* z_move(z_owned_shm_client_t& this_) { return z_shm_client_move(&this_); };
-inline z_moved_shm_client_storage_t* z_move(z_owned_shm_client_storage_t& this_) { return z_shm_client_storage_move(&this_); };
-inline z_moved_shm_t* z_move(z_owned_shm_t& this_) { return z_shm_move(&this_); };
-inline z_moved_shm_mut_t* z_move(z_owned_shm_mut_t& this_) { return z_shm_mut_move(&this_); };
-inline z_moved_shm_provider_t* z_move(z_owned_shm_provider_t& this_) { return z_shm_provider_move(&this_); };
inline z_moved_slice_t* z_move(z_owned_slice_t& this_) { return z_slice_move(&this_); };
-inline z_moved_source_info_t* z_move(z_owned_source_info_t& this_) { return z_source_info_move(&this_); };
inline z_moved_string_array_t* z_move(z_owned_string_array_t& this_) { return z_string_array_move(&this_); };
inline z_moved_string_t* z_move(z_owned_string_t& this_) { return z_string_move(&this_); };
inline z_moved_subscriber_t* z_move(z_owned_subscriber_t& this_) { return z_subscriber_move(&this_); };
inline z_moved_task_t* z_move(z_owned_task_t& this_) { return z_task_move(&this_); };
inline zc_moved_closure_log_t* z_move(zc_owned_closure_log_t& closure_) { return zc_closure_log_move(&closure_); };
-inline zc_moved_closure_matching_status_t* z_move(zc_owned_closure_matching_status_t& closure_) { return zc_closure_matching_status_move(&closure_); };
-inline zc_moved_liveliness_token_t* z_move(zc_owned_liveliness_token_t& this_) { return zc_liveliness_token_move(&this_); };
-inline zc_moved_matching_listener_t* z_move(zc_owned_matching_listener_t& this_) { return zc_publisher_matching_listener_move(&this_); };
-inline zc_moved_shm_client_list_t* z_move(zc_owned_shm_client_list_t& this_) { return zc_shm_client_list_move(&this_); };
-inline ze_moved_publication_cache_t* z_move(ze_owned_publication_cache_t& this_) { return ze_publication_cache_move(&this_); };
-inline ze_moved_querying_subscriber_t* z_move(ze_owned_querying_subscriber_t& this_) { return ze_querying_subscriber_move(&this_); };
inline ze_moved_serializer_t* z_move(ze_owned_serializer_t& this_) { return ze_serializer_move(&this_); };
-inline void z_internal_null(z_owned_alloc_layout_t* this_) { z_internal_alloc_layout_null(this_); };
inline void z_internal_null(z_owned_bytes_t* this_) { z_internal_bytes_null(this_); };
inline void z_internal_null(z_owned_bytes_writer_t* this_) { z_internal_bytes_writer_null(this_); };
-inline void z_internal_null(z_owned_chunk_alloc_result_t* this_) { z_internal_chunk_alloc_result_null(this_); };
inline void z_internal_null(z_owned_closure_hello_t* this_) { z_internal_closure_hello_null(this_); };
inline void z_internal_null(z_owned_closure_query_t* this_) { z_internal_closure_query_null(this_); };
inline void z_internal_null(z_owned_closure_reply_t* this_) { z_internal_closure_reply_null(this_); };
inline void z_internal_null(z_owned_closure_sample_t* this_) { z_internal_closure_sample_null(this_); };
-inline void z_internal_null(z_owned_closure_zid_t* this_) { z_internal_closure_zid_null(this_); };
inline void z_internal_null(z_owned_condvar_t* this_) { z_internal_condvar_null(this_); };
inline void z_internal_null(z_owned_config_t* this_) { z_internal_config_null(this_); };
inline void z_internal_null(z_owned_encoding_t* this_) { z_internal_encoding_null(this_); };
@@ -725,7 +522,6 @@ inline void z_internal_null(z_owned_fifo_handler_reply_t* this_) { z_internal_fi
inline void z_internal_null(z_owned_fifo_handler_sample_t* this_) { z_internal_fifo_handler_sample_null(this_); };
inline void z_internal_null(z_owned_hello_t* this_) { z_internal_hello_null(this_); };
inline void z_internal_null(z_owned_keyexpr_t* this_) { z_internal_keyexpr_null(this_); };
-inline void z_internal_null(z_owned_memory_layout_t* this_) { z_internal_memory_layout_null(this_); };
inline void z_internal_null(z_owned_mutex_t* this_) { z_internal_mutex_null(this_); };
inline void z_internal_null(z_owned_publisher_t* this_) { z_internal_publisher_null(this_); };
inline void z_internal_null(z_owned_query_t* this_) { z_internal_query_null(this_); };
@@ -737,35 +533,20 @@ inline void z_internal_null(z_owned_ring_handler_reply_t* this_) { z_internal_ri
inline void z_internal_null(z_owned_ring_handler_sample_t* this_) { z_internal_ring_handler_sample_null(this_); };
inline void z_internal_null(z_owned_sample_t* this_) { z_internal_sample_null(this_); };
inline void z_internal_null(z_owned_session_t* this_) { z_internal_session_null(this_); };
-inline void z_internal_null(z_owned_shm_client_t* this_) { z_internal_shm_client_null(this_); };
-inline void z_internal_null(z_owned_shm_client_storage_t* this_) { z_internal_shm_client_storage_null(this_); };
-inline void z_internal_null(z_owned_shm_mut_t* this_) { z_internal_shm_mut_null(this_); };
-inline void z_internal_null(z_owned_shm_t* this_) { z_internal_shm_null(this_); };
-inline void z_internal_null(z_owned_shm_provider_t* this_) { z_internal_shm_provider_null(this_); };
inline void z_internal_null(z_owned_slice_t* this_) { z_internal_slice_null(this_); };
-inline void z_internal_null(z_owned_source_info_t* this_) { z_internal_source_info_null(this_); };
inline void z_internal_null(z_owned_string_array_t* this_) { z_internal_string_array_null(this_); };
inline void z_internal_null(z_owned_string_t* this_) { z_internal_string_null(this_); };
inline void z_internal_null(z_owned_subscriber_t* this_) { z_internal_subscriber_null(this_); };
inline void z_internal_null(z_owned_task_t* this_) { z_internal_task_null(this_); };
inline void z_internal_null(zc_owned_closure_log_t* this_) { zc_internal_closure_log_null(this_); };
-inline void z_internal_null(zc_owned_closure_matching_status_t* this_) { zc_internal_closure_matching_status_null(this_); };
-inline void z_internal_null(zc_owned_liveliness_token_t* this_) { zc_internal_liveliness_token_null(this_); };
-inline void z_internal_null(zc_owned_matching_listener_t* this_) { zc_internal_matching_listener_null(this_); };
-inline void z_internal_null(zc_owned_shm_client_list_t* this_) { zc_internal_shm_client_list_null(this_); };
-inline void z_internal_null(ze_owned_publication_cache_t* this_) { ze_internal_publication_cache_null(this_); };
-inline void z_internal_null(ze_owned_querying_subscriber_t* this_) { ze_internal_querying_subscriber_null(this_); };
inline void z_internal_null(ze_owned_serializer_t* this_) { ze_internal_serializer_null(this_); };
-static inline void z_alloc_layout_take(z_owned_alloc_layout_t* this_, z_moved_alloc_layout_t* x) { *this_ = x->_this; z_internal_alloc_layout_null(&x->_this); }
static inline void z_bytes_take(z_owned_bytes_t* this_, z_moved_bytes_t* x) { *this_ = x->_this; z_internal_bytes_null(&x->_this); }
static inline void z_bytes_writer_take(z_owned_bytes_writer_t* this_, z_moved_bytes_writer_t* x) { *this_ = x->_this; z_internal_bytes_writer_null(&x->_this); }
-static inline void z_chunk_alloc_result_take(z_owned_chunk_alloc_result_t* this_, z_moved_chunk_alloc_result_t* x) { *this_ = x->_this; z_internal_chunk_alloc_result_null(&x->_this); }
static inline void z_closure_hello_take(z_owned_closure_hello_t* this_, z_moved_closure_hello_t* x) { *this_ = x->_this; z_internal_closure_hello_null(&x->_this); }
static inline void z_closure_query_take(z_owned_closure_query_t* closure_, z_moved_closure_query_t* x) { *closure_ = x->_this; z_internal_closure_query_null(&x->_this); }
static inline void z_closure_reply_take(z_owned_closure_reply_t* closure_, z_moved_closure_reply_t* x) { *closure_ = x->_this; z_internal_closure_reply_null(&x->_this); }
static inline void z_closure_sample_take(z_owned_closure_sample_t* closure_, z_moved_closure_sample_t* x) { *closure_ = x->_this; z_internal_closure_sample_null(&x->_this); }
-static inline void z_closure_zid_take(z_owned_closure_zid_t* closure_, z_moved_closure_zid_t* x) { *closure_ = x->_this; z_internal_closure_zid_null(&x->_this); }
static inline void z_condvar_take(z_owned_condvar_t* this_, z_moved_condvar_t* x) { *this_ = x->_this; z_internal_condvar_null(&x->_this); }
static inline void z_config_take(z_owned_config_t* this_, z_moved_config_t* x) { *this_ = x->_this; z_internal_config_null(&x->_this); }
static inline void z_encoding_take(z_owned_encoding_t* this_, z_moved_encoding_t* x) { *this_ = x->_this; z_internal_encoding_null(&x->_this); }
@@ -774,7 +555,6 @@ static inline void z_fifo_handler_reply_take(z_owned_fifo_handler_reply_t* this_
static inline void z_fifo_handler_sample_take(z_owned_fifo_handler_sample_t* this_, z_moved_fifo_handler_sample_t* x) { *this_ = x->_this; z_internal_fifo_handler_sample_null(&x->_this); }
static inline void z_hello_take(z_owned_hello_t* this_, z_moved_hello_t* x) { *this_ = x->_this; z_internal_hello_null(&x->_this); }
static inline void z_keyexpr_take(z_owned_keyexpr_t* this_, z_moved_keyexpr_t* x) { *this_ = x->_this; z_internal_keyexpr_null(&x->_this); }
-static inline void z_memory_layout_take(z_owned_memory_layout_t* this_, z_moved_memory_layout_t* x) { *this_ = x->_this; z_internal_memory_layout_null(&x->_this); }
static inline void z_mutex_take(z_owned_mutex_t* this_, z_moved_mutex_t* x) { *this_ = x->_this; z_internal_mutex_null(&x->_this); }
static inline void z_publisher_take(z_owned_publisher_t* this_, z_moved_publisher_t* x) { *this_ = x->_this; z_internal_publisher_null(&x->_this); }
static inline void z_query_take(z_owned_query_t* this_, z_moved_query_t* x) { *this_ = x->_this; z_internal_query_null(&x->_this); }
@@ -786,40 +566,22 @@ static inline void z_ring_handler_reply_take(z_owned_ring_handler_reply_t* this_
static inline void z_ring_handler_sample_take(z_owned_ring_handler_sample_t* this_, z_moved_ring_handler_sample_t* x) { *this_ = x->_this; z_internal_ring_handler_sample_null(&x->_this); }
static inline void z_sample_take(z_owned_sample_t* this_, z_moved_sample_t* x) { *this_ = x->_this; z_internal_sample_null(&x->_this); }
static inline void z_session_take(z_owned_session_t* this_, z_moved_session_t* x) { *this_ = x->_this; z_internal_session_null(&x->_this); }
-static inline void z_shm_client_take(z_owned_shm_client_t* this_, z_moved_shm_client_t* x) { *this_ = x->_this; z_internal_shm_client_null(&x->_this); }
-static inline void z_shm_client_storage_take(z_owned_shm_client_storage_t* this_, z_moved_shm_client_storage_t* x) { *this_ = x->_this; z_internal_shm_client_storage_null(&x->_this); }
-static inline void z_shm_take(z_owned_shm_t* this_, z_moved_shm_t* x) { *this_ = x->_this; z_internal_shm_null(&x->_this); }
-static inline void z_shm_mut_take(z_owned_shm_mut_t* this_, z_moved_shm_mut_t* x) { *this_ = x->_this; z_internal_shm_mut_null(&x->_this); }
-static inline void z_shm_provider_take(z_owned_shm_provider_t* this_, z_moved_shm_provider_t* x) { *this_ = x->_this; z_internal_shm_provider_null(&x->_this); }
static inline void z_slice_take(z_owned_slice_t* this_, z_moved_slice_t* x) { *this_ = x->_this; z_internal_slice_null(&x->_this); }
-static inline void z_source_info_take(z_owned_source_info_t* this_, z_moved_source_info_t* x) { *this_ = x->_this; z_internal_source_info_null(&x->_this); }
static inline void z_string_array_take(z_owned_string_array_t* this_, z_moved_string_array_t* x) { *this_ = x->_this; z_internal_string_array_null(&x->_this); }
static inline void z_string_take(z_owned_string_t* this_, z_moved_string_t* x) { *this_ = x->_this; z_internal_string_null(&x->_this); }
static inline void z_subscriber_take(z_owned_subscriber_t* this_, z_moved_subscriber_t* x) { *this_ = x->_this; z_internal_subscriber_null(&x->_this); }
static inline void z_task_take(z_owned_task_t* this_, z_moved_task_t* x) { *this_ = x->_this; z_internal_task_null(&x->_this); }
static inline void zc_closure_log_take(zc_owned_closure_log_t* closure_, zc_moved_closure_log_t* x) { *closure_ = x->_this; zc_internal_closure_log_null(&x->_this); }
-static inline void zc_closure_matching_status_take(zc_owned_closure_matching_status_t* closure_, zc_moved_closure_matching_status_t* x) { *closure_ = x->_this; zc_internal_closure_matching_status_null(&x->_this); }
-static inline void zc_liveliness_token_take(zc_owned_liveliness_token_t* this_, zc_moved_liveliness_token_t* x) { *this_ = x->_this; zc_internal_liveliness_token_null(&x->_this); }
-static inline void zc_publisher_matching_listener_take(zc_owned_matching_listener_t* this_, zc_moved_matching_listener_t* x) { *this_ = x->_this; zc_internal_matching_listener_null(&x->_this); }
-static inline void zc_shm_client_list_take(zc_owned_shm_client_list_t* this_, zc_moved_shm_client_list_t* x) { *this_ = x->_this; zc_internal_shm_client_list_null(&x->_this); }
-static inline void ze_publication_cache_take(ze_owned_publication_cache_t* this_, ze_moved_publication_cache_t* x) { *this_ = x->_this; ze_internal_publication_cache_null(&x->_this); }
-static inline void ze_querying_subscriber_take(ze_owned_querying_subscriber_t* this_, ze_moved_querying_subscriber_t* x) { *this_ = x->_this; ze_internal_querying_subscriber_null(&x->_this); }
static inline void ze_serializer_take(ze_owned_serializer_t* this_, ze_moved_serializer_t* x) { *this_ = x->_this; ze_internal_serializer_null(&x->_this); }
-inline void z_take(z_owned_alloc_layout_t* this_, z_moved_alloc_layout_t* x) {
- z_alloc_layout_take(this_, x);
-};
inline void z_take(z_owned_bytes_t* this_, z_moved_bytes_t* x) {
z_bytes_take(this_, x);
};
inline void z_take(z_owned_bytes_writer_t* this_, z_moved_bytes_writer_t* x) {
z_bytes_writer_take(this_, x);
};
-inline void z_take(z_owned_chunk_alloc_result_t* this_, z_moved_chunk_alloc_result_t* x) {
- z_chunk_alloc_result_take(this_, x);
-};
inline void z_take(z_owned_closure_hello_t* this_, z_moved_closure_hello_t* x) {
z_closure_hello_take(this_, x);
};
@@ -832,9 +594,6 @@ inline void z_take(z_owned_closure_reply_t* closure_, z_moved_closure_reply_t* x
inline void z_take(z_owned_closure_sample_t* closure_, z_moved_closure_sample_t* x) {
z_closure_sample_take(closure_, x);
};
-inline void z_take(z_owned_closure_zid_t* closure_, z_moved_closure_zid_t* x) {
- z_closure_zid_take(closure_, x);
-};
inline void z_take(z_owned_condvar_t* this_, z_moved_condvar_t* x) {
z_condvar_take(this_, x);
};
@@ -859,9 +618,6 @@ inline void z_take(z_owned_hello_t* this_, z_moved_hello_t* x) {
inline void z_take(z_owned_keyexpr_t* this_, z_moved_keyexpr_t* x) {
z_keyexpr_take(this_, x);
};
-inline void z_take(z_owned_memory_layout_t* this_, z_moved_memory_layout_t* x) {
- z_memory_layout_take(this_, x);
-};
inline void z_take(z_owned_mutex_t* this_, z_moved_mutex_t* x) {
z_mutex_take(this_, x);
};
@@ -895,27 +651,9 @@ inline void z_take(z_owned_sample_t* this_, z_moved_sample_t* x) {
inline void z_take(z_owned_session_t* this_, z_moved_session_t* x) {
z_session_take(this_, x);
};
-inline void z_take(z_owned_shm_client_t* this_, z_moved_shm_client_t* x) {
- z_shm_client_take(this_, x);
-};
-inline void z_take(z_owned_shm_client_storage_t* this_, z_moved_shm_client_storage_t* x) {
- z_shm_client_storage_take(this_, x);
-};
-inline void z_take(z_owned_shm_t* this_, z_moved_shm_t* x) {
- z_shm_take(this_, x);
-};
-inline void z_take(z_owned_shm_mut_t* this_, z_moved_shm_mut_t* x) {
- z_shm_mut_take(this_, x);
-};
-inline void z_take(z_owned_shm_provider_t* this_, z_moved_shm_provider_t* x) {
- z_shm_provider_take(this_, x);
-};
inline void z_take(z_owned_slice_t* this_, z_moved_slice_t* x) {
z_slice_take(this_, x);
};
-inline void z_take(z_owned_source_info_t* this_, z_moved_source_info_t* x) {
- z_source_info_take(this_, x);
-};
inline void z_take(z_owned_string_array_t* this_, z_moved_string_array_t* x) {
z_string_array_take(this_, x);
};
@@ -931,38 +669,17 @@ inline void z_take(z_owned_task_t* this_, z_moved_task_t* x) {
inline void z_take(zc_owned_closure_log_t* closure_, zc_moved_closure_log_t* x) {
zc_closure_log_take(closure_, x);
};
-inline void z_take(zc_owned_closure_matching_status_t* closure_, zc_moved_closure_matching_status_t* x) {
- zc_closure_matching_status_take(closure_, x);
-};
-inline void z_take(zc_owned_liveliness_token_t* this_, zc_moved_liveliness_token_t* x) {
- zc_liveliness_token_take(this_, x);
-};
-inline void z_take(zc_owned_matching_listener_t* this_, zc_moved_matching_listener_t* x) {
- zc_publisher_matching_listener_take(this_, x);
-};
-inline void z_take(zc_owned_shm_client_list_t* this_, zc_moved_shm_client_list_t* x) {
- zc_shm_client_list_take(this_, x);
-};
-inline void z_take(ze_owned_publication_cache_t* this_, ze_moved_publication_cache_t* x) {
- ze_publication_cache_take(this_, x);
-};
-inline void z_take(ze_owned_querying_subscriber_t* this_, ze_moved_querying_subscriber_t* x) {
- ze_querying_subscriber_take(this_, x);
-};
inline void z_take(ze_owned_serializer_t* this_, ze_moved_serializer_t* x) {
ze_serializer_take(this_, x);
};
-inline bool z_internal_check(const z_owned_alloc_layout_t& this_) { return z_internal_alloc_layout_check(&this_); };
inline bool z_internal_check(const z_owned_bytes_t& this_) { return z_internal_bytes_check(&this_); };
inline bool z_internal_check(const z_owned_bytes_writer_t& this_) { return z_internal_bytes_writer_check(&this_); };
-inline bool z_internal_check(const z_owned_chunk_alloc_result_t& this_) { return z_internal_chunk_alloc_result_check(&this_); };
inline bool z_internal_check(const z_owned_closure_hello_t& this_) { return z_internal_closure_hello_check(&this_); };
inline bool z_internal_check(const z_owned_closure_query_t& this_) { return z_internal_closure_query_check(&this_); };
inline bool z_internal_check(const z_owned_closure_reply_t& this_) { return z_internal_closure_reply_check(&this_); };
inline bool z_internal_check(const z_owned_closure_sample_t& this_) { return z_internal_closure_sample_check(&this_); };
-inline bool z_internal_check(const z_owned_closure_zid_t& this_) { return z_internal_closure_zid_check(&this_); };
inline bool z_internal_check(const z_owned_condvar_t& this_) { return z_internal_condvar_check(&this_); };
inline bool z_internal_check(const z_owned_config_t& this_) { return z_internal_config_check(&this_); };
inline bool z_internal_check(const z_owned_encoding_t& this_) { return z_internal_encoding_check(&this_); };
@@ -971,7 +688,6 @@ inline bool z_internal_check(const z_owned_fifo_handler_reply_t& this_) { return
inline bool z_internal_check(const z_owned_fifo_handler_sample_t& this_) { return z_internal_fifo_handler_sample_check(&this_); };
inline bool z_internal_check(const z_owned_hello_t& this_) { return z_internal_hello_check(&this_); };
inline bool z_internal_check(const z_owned_keyexpr_t& this_) { return z_internal_keyexpr_check(&this_); };
-inline bool z_internal_check(const z_owned_memory_layout_t& this_) { return z_internal_memory_layout_check(&this_); };
inline bool z_internal_check(const z_owned_mutex_t& this_) { return z_internal_mutex_check(&this_); };
inline bool z_internal_check(const z_owned_publisher_t& this_) { return z_internal_publisher_check(&this_); };
inline bool z_internal_check(const z_owned_query_t& query) { return z_internal_query_check(&query); };
@@ -983,24 +699,12 @@ inline bool z_internal_check(const z_owned_ring_handler_reply_t& this_) { return
inline bool z_internal_check(const z_owned_ring_handler_sample_t& this_) { return z_internal_ring_handler_sample_check(&this_); };
inline bool z_internal_check(const z_owned_sample_t& this_) { return z_internal_sample_check(&this_); };
inline bool z_internal_check(const z_owned_session_t& this_) { return z_internal_session_check(&this_); };
-inline bool z_internal_check(const z_owned_shm_t& this_) { return z_internal_shm_check(&this_); };
-inline bool z_internal_check(const z_owned_shm_client_t& this_) { return z_internal_shm_client_check(&this_); };
-inline bool z_internal_check(const z_owned_shm_client_storage_t& this_) { return z_internal_shm_client_storage_check(&this_); };
-inline bool z_internal_check(const z_owned_shm_mut_t& this_) { return z_internal_shm_mut_check(&this_); };
-inline bool z_internal_check(const z_owned_shm_provider_t& this_) { return z_internal_shm_provider_check(&this_); };
inline bool z_internal_check(const z_owned_slice_t& this_) { return z_internal_slice_check(&this_); };
-inline bool z_internal_check(const z_owned_source_info_t& this_) { return z_internal_source_info_check(&this_); };
inline bool z_internal_check(const z_owned_string_array_t& this_) { return z_internal_string_array_check(&this_); };
inline bool z_internal_check(const z_owned_string_t& this_) { return z_internal_string_check(&this_); };
inline bool z_internal_check(const z_owned_subscriber_t& this_) { return z_internal_subscriber_check(&this_); };
inline bool z_internal_check(const z_owned_task_t& this_) { return z_internal_task_check(&this_); };
inline bool z_internal_check(const zc_owned_closure_log_t& this_) { return zc_internal_closure_log_check(&this_); };
-inline bool z_internal_check(const zc_owned_closure_matching_status_t& this_) { return zc_internal_closure_matching_status_check(&this_); };
-inline bool z_internal_check(const zc_owned_liveliness_token_t& this_) { return zc_internal_liveliness_token_check(&this_); };
-inline bool z_internal_check(const zc_owned_matching_listener_t& this_) { return zc_internal_matching_listener_check(&this_); };
-inline bool z_internal_check(const zc_owned_shm_client_list_t& this_) { return zc_internal_shm_client_list_check(&this_); };
-inline bool z_internal_check(const ze_owned_publication_cache_t& this_) { return ze_internal_publication_cache_check(&this_); };
-inline bool z_internal_check(const ze_owned_querying_subscriber_t& this_) { return ze_internal_querying_subscriber_check(&this_); };
inline bool z_internal_check(const ze_owned_serializer_t& this_) { return ze_internal_serializer_check(&this_); };
@@ -1016,21 +720,13 @@ inline void z_call(const z_loaned_closure_reply_t* closure, z_loaned_reply_t* re
inline void z_call(const z_loaned_closure_sample_t* closure, z_loaned_sample_t* sample) {
z_closure_sample_call(closure, sample);
};
-inline void z_call(const z_loaned_closure_zid_t* closure, const z_id_t* z_id) {
- z_closure_zid_call(closure, z_id);
-};
-inline void z_call(const zc_loaned_closure_matching_status_t* closure, const zc_matching_status_t* mathing_status) {
- zc_closure_matching_status_call(closure, mathing_status);
-};
extern "C" using z_closure_drop_callback_t = void(void* context);
extern "C" using z_closure_hello_callabck_t = void(z_loaned_hello_t *hello, void *context);
extern "C" using z_closure_query_callabck_t = void(z_loaned_query_t *query, void *context);
extern "C" using z_closure_reply_callabck_t = void(z_loaned_reply_t *reply, void *context);
extern "C" using z_closure_sample_callabck_t = void(z_loaned_sample_t *sample, void *context);
-extern "C" using z_closure_zid_callabck_t = void(const z_id_t *z_id, void *context);
extern "C" using zc_closure_log_callabck_t = void(zc_log_severity_t severity, const z_loaned_string_t *msg, void *context);
-extern "C" using zc_closure_matching_status_callabck_t = void(const zc_matching_status_t *matching_status, void *context);
inline void z_closure(z_owned_closure_hello_t* this_, z_closure_hello_callabck_t* call,
z_closure_drop_callback_t* drop, void* context) {
@@ -1048,18 +744,10 @@ inline void z_closure(z_owned_closure_sample_t* this_, z_closure_sample_callabck
z_closure_drop_callback_t* drop, void* context) {
z_closure_sample(this_, call, drop, context);
};
-inline void z_closure(z_owned_closure_zid_t* this_, z_closure_zid_callabck_t* call,
- z_closure_drop_callback_t* drop, void* context) {
- z_closure_zid(this_, call, drop, context);
-};
inline void z_closure(zc_owned_closure_log_t* this_, zc_closure_log_callabck_t* call,
z_closure_drop_callback_t* drop, void* context) {
zc_closure_log(this_, call, drop, context);
};
-inline void z_closure(zc_owned_closure_matching_status_t* this_, zc_closure_matching_status_callabck_t* call,
- z_closure_drop_callback_t* drop, void* context) {
- zc_closure_matching_status(this_, call, drop, context);
-};
inline z_result_t z_try_recv(const z_loaned_fifo_handler_query_t* this_, z_owned_query_t* query) {
@@ -1129,12 +817,6 @@ inline void z_clone(z_owned_reply_err_t* dst, z_loaned_reply_err_t* this_) {
inline void z_clone(z_owned_sample_t* dst, z_loaned_sample_t* this_) {
z_sample_clone(dst, this_);
};
-inline void z_clone(z_owned_shm_client_storage_t* this_, z_loaned_shm_client_storage_t* from) {
- z_shm_client_storage_clone(this_, from);
-};
-inline void z_clone(z_owned_shm_t* out, z_loaned_shm_t* this_) {
- z_shm_clone(out, this_);
-};
inline void z_clone(z_owned_slice_t* dst, z_loaned_slice_t* this_) {
z_slice_clone(dst, this_);
};
@@ -1147,14 +829,10 @@ inline void z_clone(z_owned_string_t* dst, z_loaned_string_t* this_) {
template struct z_loaned_to_owned_type_t {};
template struct z_owned_to_loaned_type_t {};
-template<> struct z_loaned_to_owned_type_t { typedef z_owned_alloc_layout_t type; };
-template<> struct z_owned_to_loaned_type_t { typedef z_loaned_alloc_layout_t type; };
template<> struct z_loaned_to_owned_type_t { typedef z_owned_bytes_t type; };
template<> struct z_owned_to_loaned_type_t { typedef z_loaned_bytes_t type; };
template<> struct z_loaned_to_owned_type_t { typedef z_owned_bytes_writer_t type; };
template<> struct z_owned_to_loaned_type_t { typedef z_loaned_bytes_writer_t type; };
-template<> struct z_loaned_to_owned_type_t { typedef z_owned_chunk_alloc_result_t type; };
-template<> struct z_owned_to_loaned_type_t { typedef z_loaned_chunk_alloc_result_t type; };
template<> struct z_loaned_to_owned_type_t { typedef z_owned_closure_hello_t type; };
template<> struct z_owned_to_loaned_type_t { typedef z_loaned_closure_hello_t type; };
template<> struct z_loaned_to_owned_type_t { typedef z_owned_closure_query_t type; };
@@ -1163,8 +841,6 @@ template<> struct z_loaned_to_owned_type_t { typedef z
template<> struct z_owned_to_loaned_type_t { typedef z_loaned_closure_reply_t type; };
template<> struct z_loaned_to_owned_type_t { typedef z_owned_closure_sample_t type; };
template<> struct z_owned_to_loaned_type_t { typedef z_loaned_closure_sample_t type; };
-template<> struct z_loaned_to_owned_type_t { typedef z_owned_closure_zid_t type; };
-template<> struct z_owned_to_loaned_type_t { typedef z_loaned_closure_zid_t type; };
template<> struct z_loaned_to_owned_type_t { typedef z_owned_condvar_t type; };
template<> struct z_owned_to_loaned_type_t { typedef z_loaned_condvar_t type; };
template<> struct z_loaned_to_owned_type_t { typedef z_owned_config_t type; };
@@ -1181,8 +857,6 @@ template<> struct z_loaned_to_owned_type_t { typedef z_owned_h
template<> struct z_owned_to_loaned_type_t { typedef z_loaned_hello_t type; };
template<> struct z_loaned_to_owned_type_t { typedef z_owned_keyexpr_t type; };
template<> struct z_owned_to_loaned_type_t { typedef z_loaned_keyexpr_t type; };
-template<> struct z_loaned_to_owned_type_t { typedef z_owned_memory_layout_t type; };
-template<> struct z_owned_to_loaned_type_t { typedef z_loaned_memory_layout_t type; };
template<> struct z_loaned_to_owned_type_t { typedef z_owned_publisher_t type; };
template<> struct z_owned_to_loaned_type_t { typedef z_loaned_publisher_t type; };
template<> struct z_loaned_to_owned_type_t { typedef z_owned_query_t type; };
@@ -1203,18 +877,8 @@ template<> struct z_loaned_to_owned_type_t { typedef z_owned_
template<> struct z_owned_to_loaned_type_t { typedef z_loaned_sample_t type; };
template<> struct z_loaned_to_owned_type_t { typedef z_owned_session_t type; };
template<> struct z_owned_to_loaned_type_t { typedef z_loaned_session_t type; };
-template<> struct z_loaned_to_owned_type_t { typedef z_owned_shm_client_storage_t type; };
-template<> struct z_owned_to_loaned_type_t { typedef z_loaned_shm_client_storage_t type; };
-template<> struct z_loaned_to_owned_type_t { typedef z_owned_shm_t type; };
-template<> struct z_owned_to_loaned_type_t { typedef z_loaned_shm_t type; };
-template<> struct z_loaned_to_owned_type_t { typedef z_owned_shm_mut_t type; };
-template<> struct z_owned_to_loaned_type_t { typedef z_loaned_shm_mut_t type; };
-template<> struct z_loaned_to_owned_type_t { typedef z_owned_shm_provider_t type; };
-template<> struct z_owned_to_loaned_type_t { typedef z_loaned_shm_provider_t type; };
template<> struct z_loaned_to_owned_type_t { typedef z_owned_slice_t type; };
template<> struct z_owned_to_loaned_type_t { typedef z_loaned_slice_t type; };
-template<> struct z_loaned_to_owned_type_t { typedef z_owned_source_info_t type; };
-template<> struct z_owned_to_loaned_type_t { typedef z_loaned_source_info_t type; };
template<> struct z_loaned_to_owned_type_t { typedef z_owned_string_array_t type; };
template<> struct z_owned_to_loaned_type_t { typedef z_loaned_string_array_t type; };
template<> struct z_loaned_to_owned_type_t { typedef z_owned_string_t type; };
@@ -1223,16 +887,6 @@ template<> struct z_loaned_to_owned_type_t { typedef z_ow
template<> struct z_owned_to_loaned_type_t { typedef z_loaned_subscriber_t type; };
template<> struct z_loaned_to_owned_type_t { typedef zc_owned_closure_log_t type; };
template<> struct z_owned_to_loaned_type_t { typedef zc_loaned_closure_log_t type; };
-template<> struct z_loaned_to_owned_type_t { typedef zc_owned_closure_matching_status_t type; };
-template<> struct z_owned_to_loaned_type_t { typedef zc_loaned_closure_matching_status_t type; };
-template<> struct z_loaned_to_owned_type_t { typedef zc_owned_liveliness_token_t type; };
-template<> struct z_owned_to_loaned_type_t { typedef zc_loaned_liveliness_token_t type; };
-template<> struct z_loaned_to_owned_type_t { typedef zc_owned_shm_client_list_t type; };
-template<> struct z_owned_to_loaned_type_t { typedef zc_loaned_shm_client_list_t type; };
-template<> struct z_loaned_to_owned_type_t { typedef ze_owned_publication_cache_t type; };
-template<> struct z_owned_to_loaned_type_t { typedef ze_loaned_publication_cache_t type; };
-template<> struct z_loaned_to_owned_type_t { typedef ze_owned_querying_subscriber_t type; };
-template<> struct z_owned_to_loaned_type_t { typedef ze_loaned_querying_subscriber_t type; };
template<> struct z_loaned_to_owned_type_t { typedef ze_owned_serializer_t type; };
template<> struct z_owned_to_loaned_type_t { typedef ze_loaned_serializer_t type; };
template<> struct z_loaned_to_owned_type_t { typedef z_owned_mutex_t type; };
diff --git a/src/liveliness.rs b/src/liveliness.rs
index f1cd10a6b..76ae3f895 100644
--- a/src/liveliness.rs
+++ b/src/liveliness.rs
@@ -14,7 +14,12 @@
use std::mem::MaybeUninit;
-use zenoh::{liveliness::LivelinessToken, Wait};
+use zenoh::{
+ handlers::Callback,
+ liveliness::{LivelinessSubscriberBuilder, LivelinessToken},
+ sample::Sample,
+ Wait,
+};
use crate::{
opaque_types::{zc_loaned_liveliness_token_t, zc_owned_liveliness_token_t},
@@ -130,14 +135,14 @@ pub extern "C" fn zc_liveliness_undeclare_token(
}
/// @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
-/// @brief The options for `zc_liveliness_declare_subscriber()`
+/// @brief The options for `zc_liveliness_subscriber_declare()`
#[repr(C)]
pub struct zc_liveliness_subscriber_options_t {
history: bool,
}
/// @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
-/// @brief Constucts default value for `zc_liveliness_declare_subscriber_options_t`.
+/// @brief Constucts default value for `zc_liveliness_subscriber_declare_options_t`.
#[no_mangle]
pub extern "C" fn zc_liveliness_subscriber_options_default(
this: &mut MaybeUninit,
@@ -145,6 +150,30 @@ pub extern "C" fn zc_liveliness_subscriber_options_default(
this.write(zc_liveliness_subscriber_options_t { history: false });
}
+fn _liveliness_declare_subscriber_inner<'a, 'b>(
+ session: &'a z_loaned_session_t,
+ key_expr: &'b z_loaned_keyexpr_t,
+ callback: &mut z_moved_closure_sample_t,
+ options: Option<&mut zc_liveliness_subscriber_options_t>,
+) -> LivelinessSubscriberBuilder<'a, 'b, Callback> {
+ let session = session.as_rust_type_ref();
+ let key_expr = key_expr.as_rust_type_ref();
+ let callback = callback.take_rust_type();
+ let sub = session
+ .liveliness()
+ .declare_subscriber(key_expr)
+ .history(options.is_some_and(|o| o.history))
+ .callback(move |sample| {
+ let mut owned_sample = Some(sample);
+ z_closure_sample_call(z_closure_sample_loan(&callback), unsafe {
+ owned_sample
+ .as_mut()
+ .unwrap_unchecked()
+ .as_loaned_c_type_mut()
+ })
+ });
+ sub
+}
/// @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
/// @brief Declares a subscriber on liveliness tokens that intersect `key_expr`.
///
@@ -156,7 +185,7 @@ pub extern "C" fn zc_liveliness_subscriber_options_default(
///
/// @return 0 in case of success, negative error values otherwise.
#[no_mangle]
-pub extern "C" fn zc_liveliness_declare_subscriber(
+pub extern "C" fn zc_liveliness_subscriber_declare(
this: &mut MaybeUninit,
session: &z_loaned_session_t,
key_expr: &z_loaned_keyexpr_t,
@@ -164,24 +193,8 @@ pub extern "C" fn zc_liveliness_declare_subscriber(
options: Option<&mut zc_liveliness_subscriber_options_t>,
) -> result::z_result_t {
let this = this.as_rust_type_mut_uninit();
- let session = session.as_rust_type_ref();
- let key_expr = key_expr.as_rust_type_ref();
- let callback = callback.take_rust_type();
- match session
- .liveliness()
- .declare_subscriber(key_expr)
- .history(options.is_some_and(|o| o.history))
- .callback(move |sample| {
- let mut owned_sample = Some(sample);
- z_closure_sample_call(z_closure_sample_loan(&callback), unsafe {
- owned_sample
- .as_mut()
- .unwrap_unchecked()
- .as_loaned_c_type_mut()
- })
- })
- .wait()
- {
+ let subscriber = _liveliness_declare_subscriber_inner(session, key_expr, callback, options);
+ match subscriber.wait() {
Ok(subscriber) => {
this.write(Some(subscriber));
result::Z_OK
@@ -194,6 +207,32 @@ pub extern "C" fn zc_liveliness_declare_subscriber(
}
}
+/// @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+/// @brief Declares a background subscriber on liveliness tokens that intersect `key_expr`. Subscriber callback will be called to process the messages,
+/// until the corresponding session is closed or dropped.
+/// @param session: The Zenoh session.
+/// @param key_expr: The key expression to subscribe to.
+/// @param callback: The callback function that will be called each time a liveliness token status is changed.
+/// @param options: The options to be passed to the liveliness subscriber declaration.
+///
+/// @return 0 in case of success, negative error values otherwise.
+#[no_mangle]
+pub extern "C" fn zc_liveliness_subscriber_declare_background(
+ session: &z_loaned_session_t,
+ key_expr: &z_loaned_keyexpr_t,
+ callback: &mut z_moved_closure_sample_t,
+ options: Option<&mut zc_liveliness_subscriber_options_t>,
+) -> result::z_result_t {
+ let subscriber = _liveliness_declare_subscriber_inner(session, key_expr, callback, options);
+ match subscriber.background().wait() {
+ Ok(_) => result::Z_OK,
+ Err(e) => {
+ tracing::error!("Failed to subscribe to liveliness: {e}");
+ result::Z_EGENERIC
+ }
+ }
+}
+
/// @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
/// @brief The options for `zc_liveliness_get()`
#[repr(C)]
diff --git a/src/publication_cache.rs b/src/publication_cache.rs
index 494abbb01..4af68ef05 100644
--- a/src/publication_cache.rs
+++ b/src/publication_cache.rs
@@ -26,7 +26,7 @@ use crate::{
use crate::{zc_locality_default, zc_locality_t};
/// @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
-/// @brief Options passed to the `ze_declare_publication_cache()` function.
+/// @brief Options passed to the `ze_publication_cache_declare()` function.
#[repr(C)]
pub struct ze_publication_cache_options_t {
/// The prefix used for queryable.
@@ -80,7 +80,7 @@ decl_c_type!(
/// @returns 0 in case of success, negative error code otherwise.
#[no_mangle]
#[allow(clippy::missing_safety_doc)]
-pub extern "C" fn ze_declare_publication_cache(
+pub extern "C" fn ze_publication_cache_declare(
this: &mut MaybeUninit,
session: &z_loaned_session_t,
key_expr: &z_loaned_keyexpr_t,
@@ -138,23 +138,6 @@ pub extern "C" fn ze_internal_publication_cache_check(
this_.as_rust_type_ref().is_some()
}
-/// @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
-/// @brief Undeclares and drops publication cache.
-/// @return 0 in case of success, negative error code otherwise.
-#[no_mangle]
-#[allow(clippy::missing_safety_doc)]
-pub extern "C" fn ze_undeclare_publication_cache(
- this: &mut ze_moved_publication_cache_t,
-) -> result::z_result_t {
- if let Some(p) = this.take_rust_type() {
- if let Err(e) = p.undeclare().wait() {
- tracing::error!("{}", e);
- return result::Z_EGENERIC;
- }
- }
- result::Z_OK
-}
-
/// @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
/// @brief Drops publication cache and resets it to its gravestone state.
#[no_mangle]
diff --git a/src/publisher.rs b/src/publisher.rs
index d955f16b5..d22bef600 100644
--- a/src/publisher.rs
+++ b/src/publisher.rs
@@ -15,7 +15,10 @@
use std::mem::MaybeUninit;
#[cfg(feature = "unstable")]
-use zenoh::pubsub::MatchingListener;
+use zenoh::{
+ handlers::Callback,
+ pubsub::{MatchingListener, MatchingStatus},
+};
use zenoh::{
pubsub::Publisher,
qos::{CongestionControl, Priority},
@@ -40,7 +43,7 @@ use crate::{
zc_locality_t,
};
-/// Options passed to the `z_declare_publisher()` function.
+/// Options passed to the `z_publisher_declare()` function.
#[repr(C)]
pub struct z_publisher_options_t {
/// Default encoding for messages put by this publisher.
@@ -97,7 +100,7 @@ decl_c_type!(
/// @return 0 in case of success, negative error code otherwise.
#[no_mangle]
#[allow(clippy::missing_safety_doc)]
-pub extern "C" fn z_declare_publisher(
+pub extern "C" fn z_publisher_declare(
this: &mut MaybeUninit,
session: &z_loaned_session_t,
key_expr: &z_loaned_keyexpr_t,
@@ -342,6 +345,24 @@ pub struct zc_matching_status_t {
pub matching: bool,
}
+#[cfg(feature = "unstable")]
+fn _publisher_matching_listener_declare_inner<'a, 'b>(
+ publisher: &'a z_loaned_publisher_t,
+ callback: &mut zc_moved_closure_matching_status_t,
+) -> zenoh::pubsub::MatchingListenerBuilder<'a, 'b, Callback> {
+ let publisher = publisher.as_rust_type_ref();
+ let callback = callback.take_rust_type();
+ let listener = publisher
+ .matching_listener()
+ .callback_mut(move |matching_status| {
+ let status = zc_matching_status_t {
+ matching: matching_status.matching_subscribers(),
+ };
+ zc_closure_matching_status_call(zc_closure_matching_status_loan(&callback), &status);
+ });
+ listener
+}
+
#[cfg(feature = "unstable")]
/// @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
/// @brief Constructs matching listener, registering a callback for notifying subscribers matching with a given publisher.
@@ -352,30 +373,20 @@ pub struct zc_matching_status_t {
///
/// @return 0 in case of success, negative error code otherwise.
#[no_mangle]
-#[allow(clippy::missing_safety_doc)]
pub extern "C" fn zc_publisher_matching_listener_declare(
this: &mut MaybeUninit,
publisher: &'static z_loaned_publisher_t,
callback: &mut zc_moved_closure_matching_status_t,
) -> result::z_result_t {
let this = this.as_rust_type_mut_uninit();
- let publisher = publisher.as_rust_type_ref();
- let callback = callback.take_rust_type();
- let listener = publisher
- .matching_listener()
- .callback_mut(move |matching_status| {
- let status = zc_matching_status_t {
- matching: matching_status.matching_subscribers(),
- };
- zc_closure_matching_status_call(zc_closure_matching_status_loan(&callback), &status);
- })
- .wait();
- match listener {
+ let listener = _publisher_matching_listener_declare_inner(publisher, callback);
+ match listener.wait() {
Ok(listener) => {
this.write(Some(listener));
result::Z_OK
}
Err(e) => {
+ this.write(None);
tracing::error!("{}", e);
result::Z_EGENERIC
}
@@ -384,21 +395,26 @@ pub extern "C" fn zc_publisher_matching_listener_declare(
#[cfg(feature = "unstable")]
/// @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
-/// @brief Undeclares the given matching listener, droping and invalidating it.
+/// @brief Declares a matching listener, registering a callback for notifying subscribers matching with a given publisher.
+/// The callback will be run in the background until the corresponding publisher is dropped.
+///
+/// @param publisher: A publisher to associate with matching listener.
+/// @param callback: A closure that will be called every time the matching status of the publisher changes (If last subscriber, disconnects or when the first subscriber connects).
///
/// @return 0 in case of success, negative error code otherwise.
#[no_mangle]
-#[allow(clippy::missing_safety_doc)]
-pub extern "C" fn zc_publisher_matching_listener_undeclare(
- this: &mut zc_moved_matching_listener_t,
+pub extern "C" fn zc_publisher_matching_listener_declare_background(
+ publisher: &'static z_loaned_publisher_t,
+ callback: &mut zc_moved_closure_matching_status_t,
) -> result::z_result_t {
- if let Some(p) = this.take_rust_type() {
- if let Err(e) = p.undeclare().wait() {
+ let listener = _publisher_matching_listener_declare_inner(publisher, callback);
+ match listener.background().wait() {
+ Ok(_) => result::Z_OK,
+ Err(e) => {
tracing::error!("{}", e);
- return result::Z_EGENERIC;
+ result::Z_EGENERIC
}
}
- result::Z_OK
}
#[cfg(feature = "unstable")]
@@ -435,21 +451,6 @@ pub extern "C" fn zc_publisher_get_matching_status(
}
}
-#[no_mangle]
-#[allow(clippy::missing_safety_doc)]
-/// @brief Undeclares the given publisher, droping and invalidating it.
-///
-/// @return 0 in case of success, negative error code otherwise.
-pub extern "C" fn z_undeclare_publisher(this_: &mut z_moved_publisher_t) -> result::z_result_t {
- if let Some(p) = this_.take_rust_type() {
- if let Err(e) = p.undeclare().wait() {
- tracing::error!("{}", e);
- return result::Z_ENETWORK;
- }
- }
- result::Z_OK
-}
-
/// Frees memory and resets publisher to its gravestone state.
#[no_mangle]
#[allow(clippy::missing_safety_doc)]
diff --git a/src/queryable.rs b/src/queryable.rs
index 897d7d368..260836589 100644
--- a/src/queryable.rs
+++ b/src/queryable.rs
@@ -15,8 +15,9 @@ use std::mem::MaybeUninit;
use zenoh::{
bytes::Encoding,
+ handlers::Callback,
qos::{CongestionControl, Priority},
- query::{Query, Queryable},
+ query::{Query, Queryable, QueryableBuilder},
Wait,
};
@@ -206,6 +207,31 @@ pub extern "C" fn z_query_reply_del_options_default(
});
}
+fn _declare_queryable_inner<'a, 'b>(
+ session: &'a z_loaned_session_t,
+ key_expr: &'b z_loaned_keyexpr_t,
+ callback: &mut z_moved_closure_query_t,
+ options: Option<&mut z_queryable_options_t>,
+) -> QueryableBuilder<'a, 'b, Callback> {
+ let session = session.as_rust_type_ref();
+ let keyexpr = key_expr.as_rust_type_ref();
+ let callback = callback.take_rust_type();
+ let mut builder = session.declare_queryable(keyexpr);
+ if let Some(options) = options {
+ builder = builder.complete(options.complete);
+ }
+ let queryable = builder.callback(move |query| {
+ let mut owned_query = Some(query);
+ z_closure_query_call(z_closure_query_loan(&callback), unsafe {
+ owned_query
+ .as_mut()
+ .unwrap_unchecked()
+ .as_loaned_c_type_mut()
+ })
+ });
+ queryable
+}
+
/// Constructs a Queryable for the given key expression.
///
/// @param this_: An uninitialized memory location where queryable will be constructed.
@@ -215,7 +241,6 @@ pub extern "C" fn z_query_reply_del_options_default(
/// @param options: Options for the queryable.
///
/// @return 0 in case of success, negative error code otherwise (in this case )
-#[allow(clippy::missing_safety_doc)]
#[no_mangle]
pub extern "C" fn z_declare_queryable(
this: &mut MaybeUninit,
@@ -225,25 +250,8 @@ pub extern "C" fn z_declare_queryable(
options: Option<&mut z_queryable_options_t>,
) -> result::z_result_t {
let this = this.as_rust_type_mut_uninit();
- let session = session.as_rust_type_ref();
- let keyexpr = key_expr.as_rust_type_ref();
- let callback = callback.take_rust_type();
- let mut builder = session.declare_queryable(keyexpr);
- if let Some(options) = options {
- builder = builder.complete(options.complete);
- }
- let queryable = builder
- .callback(move |query| {
- let mut owned_query = Some(query);
- z_closure_query_call(z_closure_query_loan(&callback), unsafe {
- owned_query
- .as_mut()
- .unwrap_unchecked()
- .as_loaned_c_type_mut()
- })
- })
- .wait();
- match queryable {
+ let queryable = _declare_queryable_inner(session, key_expr, callback, options);
+ match queryable.wait() {
Ok(q) => {
this.write(Some(q));
result::Z_OK
@@ -256,23 +264,33 @@ pub extern "C" fn z_declare_queryable(
}
}
-/// Undeclares a `z_owned_queryable_t` and drops it.
+/// Declares a background queryable for a given keyexpr. The queryable callback will be be called
+/// to proccess incoming queries until the corresponding session is closed or dropped.
///
-/// Returns 0 in case of success, negative error code otherwise.
-#[allow(clippy::missing_safety_doc)]
+/// @param session: The zenoh session.
+/// @param key_expr: The key expression the Queryable will reply to.
+/// @param callback: The callback function that will be called each time a matching query is received. Its ownership is passed to queryable.
+/// @param options: Options for the queryable.
+///
+/// @return 0 in case of success, negative error code otherwise (in this case )
#[no_mangle]
-pub extern "C" fn z_undeclare_queryable(this_: &mut z_moved_queryable_t) -> result::z_result_t {
- if let Some(qable) = this_.take_rust_type() {
- if let Err(e) = qable.undeclare().wait() {
+pub extern "C" fn z_queryable_declare_background(
+ session: &z_loaned_session_t,
+ key_expr: &z_loaned_keyexpr_t,
+ callback: &mut z_moved_closure_query_t,
+ options: Option<&mut z_queryable_options_t>,
+) -> result::z_result_t {
+ let queryable = _declare_queryable_inner(session, key_expr, callback, options);
+ match queryable.background().wait() {
+ Ok(_) => result::Z_OK,
+ Err(e) => {
tracing::error!("{}", e);
- return result::Z_EGENERIC;
+ result::Z_EGENERIC
}
}
- result::Z_OK
}
-/// Frees memory and resets queryable to its gravestone state.
-/// The callback closure is not dropped, and thus the queries continue to be served until the corresponding session is closed.
+/// Undeclares queryable callback and resets it to its gravestone state.
#[allow(clippy::missing_safety_doc)]
#[no_mangle]
pub extern "C" fn z_queryable_drop(this_: &mut z_moved_queryable_t) {
diff --git a/src/querying_subscriber.rs b/src/querying_subscriber.rs
index 1cafa242d..100e1b26b 100644
--- a/src/querying_subscriber.rs
+++ b/src/querying_subscriber.rs
@@ -14,7 +14,7 @@
use std::mem::MaybeUninit;
-use zenoh::{session::Session, Wait};
+use zenoh::{handlers::Callback, sample::Sample, session::Session, Wait};
use zenoh_ext::*;
use crate::{
@@ -49,7 +49,7 @@ pub extern "C" fn ze_internal_querying_subscriber_null(
/// @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
/// @brief A set of options that can be applied to a querying subscriber,
-/// upon its declaration via `ze_declare_querying_subscriber()`.
+/// upon its declaration via `ze_querying_subscriber_declare()`.
///
#[repr(C)]
#[allow(non_camel_case_types)]
@@ -88,26 +88,12 @@ pub extern "C" fn ze_querying_subscriber_options_default(
});
}
-/// @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
-/// @brief Constructs and declares a querying subscriber for a given key expression.
-///
-/// @param this_: An uninitialized memory location where querying subscriber will be constructed.
-/// @param session: A Zenoh session.
-/// @param key_expr: A key expression to subscribe to.
-/// @param callback: The callback function that will be called each time a data matching the subscribed expression is received.
-/// @param options: Additional options for the querying subscriber.
-///
-/// @return 0 in case of success, negative error code otherwise.
-#[no_mangle]
-#[allow(clippy::missing_safety_doc)]
-pub unsafe extern "C" fn ze_declare_querying_subscriber(
- this: &mut MaybeUninit,
- session: &'static z_loaned_session_t,
- key_expr: &z_loaned_keyexpr_t,
+unsafe fn _declare_querying_subscriber_inner<'a, 'b>(
+ session: &'a z_loaned_session_t,
+ key_expr: &'b z_loaned_keyexpr_t,
callback: &mut z_moved_closure_sample_t,
options: Option<&mut ze_querying_subscriber_options_t>,
-) -> result::z_result_t {
- let this = this.as_rust_type_mut_uninit();
+) -> QueryingSubscriberBuilder<'a, 'b, UserSpace, Callback> {
let session = session.as_rust_type_ref();
let callback = callback.take_rust_type();
let mut sub = session
@@ -141,8 +127,32 @@ pub unsafe extern "C" fn ze_declare_querying_subscriber(
.as_loaned_c_type_mut(),
);
});
+ sub
+}
+/// @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+/// @brief Constructs and declares a querying subscriber for a given key expression.
+///
+/// @param this_: An uninitialized memory location where querying subscriber will be constructed.
+/// @param session: A Zenoh session.
+/// @param key_expr: A key expression to subscribe to.
+/// @param callback: The callback function that will be called each time a data matching the subscribed expression is received.
+/// @param options: Additional options for the querying subscriber.
+///
+/// @return 0 in case of success, negative error code otherwise.
+#[no_mangle]
+#[allow(clippy::missing_safety_doc)]
+pub unsafe extern "C" fn ze_querying_subscriber_declare(
+ this: &mut MaybeUninit,
+ session: &'static z_loaned_session_t,
+ key_expr: &z_loaned_keyexpr_t,
+ callback: &mut z_moved_closure_sample_t,
+ options: Option<&mut ze_querying_subscriber_options_t>,
+) -> result::z_result_t {
+ let this = this.as_rust_type_mut_uninit();
+ let sub = _declare_querying_subscriber_inner(session, key_expr, callback, options);
match sub.wait() {
Ok(sub) => {
+ let session = session.as_rust_type_ref();
this.write(Some((sub, session)));
result::Z_OK
}
@@ -154,6 +164,34 @@ pub unsafe extern "C" fn ze_declare_querying_subscriber(
}
}
+/// @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
+/// @brief Declares a background querying subscriber for a given key expression. Subscriber callback will be called to process the messages,
+/// until the corresponding session is closed or dropped.
+///
+/// @param session: A Zenoh session.
+/// @param key_expr: A key expression to subscribe to.
+/// @param callback: The callback function that will be called each time a data matching the subscribed expression is received.
+/// @param options: Additional options for the querying subscriber.
+///
+/// @return 0 in case of success, negative error code otherwise.
+#[no_mangle]
+#[allow(clippy::missing_safety_doc)]
+pub unsafe extern "C" fn ze_querying_subscriber_declare_background(
+ session: &'static z_loaned_session_t,
+ key_expr: &z_loaned_keyexpr_t,
+ callback: &mut z_moved_closure_sample_t,
+ options: Option<&mut ze_querying_subscriber_options_t>,
+) -> result::z_result_t {
+ let sub = _declare_querying_subscriber_inner(session, key_expr, callback, options);
+ match sub.background().wait() {
+ Ok(_) => result::Z_OK,
+ Err(e) => {
+ tracing::debug!("{}", e);
+ result::Z_EGENERIC
+ }
+ }
+}
+
/// @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
/// @brief Make querying subscriber perform an additional query on a specified selector.
/// The queried samples will be merged with the received publications and made available in the subscriber callback.
@@ -220,25 +258,7 @@ pub unsafe extern "C" fn ze_querying_subscriber_get(
}
/// @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
-/// @brief Undeclares the given querying subscriber, drops it and resets to a gravestone state.
-///
-/// @return 0 in case of success, negative error code otherwise.
-#[no_mangle]
-pub extern "C" fn ze_undeclare_querying_subscriber(
- this_: &mut ze_moved_querying_subscriber_t,
-) -> result::z_result_t {
- if let Some(s) = this_.take_rust_type() {
- if let Err(e) = s.0.undeclare().wait() {
- tracing::error!("{}", e);
- return result::Z_EGENERIC;
- }
- }
- result::Z_OK
-}
-
-/// @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
-/// @brief Drops querying subscriber.
-/// The callback closure is not dropped, and thus the queries continue to be served until the corresponding session is closed.
+/// @brief Undeclares querying subscriber callback and resets it to its gravestone state.
#[no_mangle]
pub extern "C" fn ze_querying_subscriber_drop(this_: &mut ze_moved_querying_subscriber_t) {
std::mem::drop(this_.take_rust_type())
diff --git a/src/subscriber.rs b/src/subscriber.rs
index f3d8b37ea..69886ec50 100644
--- a/src/subscriber.rs
+++ b/src/subscriber.rs
@@ -14,7 +14,12 @@
use std::mem::MaybeUninit;
-use zenoh::{pubsub::Subscriber, Wait};
+use zenoh::{
+ handlers::Callback,
+ pubsub::{Subscriber, SubscriberBuilder},
+ sample::Sample,
+ Wait,
+};
pub use crate::opaque_types::{z_loaned_subscriber_t, z_moved_subscriber_t, z_owned_subscriber_t};
use crate::{
@@ -45,7 +50,7 @@ pub unsafe extern "C" fn z_subscriber_loan(this_: &z_owned_subscriber_t) -> &z_l
.as_loaned_c_type_ref()
}
-/// Options passed to the `z_declare_subscriber()` function.
+/// Options passed to the `z_subscriber_declare()` function.
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct z_subscriber_options_t {
@@ -59,25 +64,12 @@ pub extern "C" fn z_subscriber_options_default(this_: &mut MaybeUninit,
- session: &z_loaned_session_t,
- key_expr: &z_loaned_keyexpr_t,
+fn _declare_subscriber_inner<'a, 'b>(
+ session: &'a z_loaned_session_t,
+ key_expr: &'b z_loaned_keyexpr_t,
callback: &mut z_moved_closure_sample_t,
_options: Option<&mut z_subscriber_options_t>,
-) -> result::z_result_t {
- let this = this.as_rust_type_mut_uninit();
+) -> SubscriberBuilder<'a, 'b, Callback> {
let session = session.as_rust_type_ref();
let key_expr = key_expr.as_rust_type_ref();
let callback = callback.take_rust_type();
@@ -92,6 +84,28 @@ pub extern "C" fn z_declare_subscriber(
.as_loaned_c_type_mut()
})
});
+ subscriber
+}
+
+/// Constructs and declares a subscriber for a given key expression. Dropping subscriber undeclares its callback.
+///
+/// @param this_: An uninitialized location in memory, where subscriber will be constructed.
+/// @param session: The zenoh session.
+/// @param key_expr: The key expression to subscribe.
+/// @param callback: The callback function that will be called each time a data matching the subscribed expression is received.
+/// @param _options: The options to be passed to the subscriber declaration.
+///
+/// @return 0 in case of success, negative error code otherwise (in this case subscriber will be in its gravestone state).
+#[no_mangle]
+pub extern "C" fn z_subscriber_declare(
+ this: &mut MaybeUninit,
+ session: &z_loaned_session_t,
+ key_expr: &z_loaned_keyexpr_t,
+ callback: &mut z_moved_closure_sample_t,
+ _options: Option<&mut z_subscriber_options_t>,
+) -> result::z_result_t {
+ let this = this.as_rust_type_mut_uninit();
+ let subscriber = _declare_subscriber_inner(session, key_expr, callback, _options);
match subscriber.wait() {
Ok(sub) => {
this.write(Some(sub));
@@ -105,6 +119,32 @@ pub extern "C" fn z_declare_subscriber(
}
}
+/// Constructs and declares a background subscriber. Subscriber callback will be called to process the messages,
+/// until the corresponding session is closed or dropped.
+///
+/// @param session: The zenoh session.
+/// @param key_expr: The key expression to subscribe.
+/// @param callback: The callback function that will be called each time a data matching the subscribed expression is received.
+/// @param _options: The options to be passed to the subscriber declaration.
+///
+/// @return 0 in case of success, negative error code otherwise.
+#[no_mangle]
+pub extern "C" fn z_subscriber_declare_background(
+ session: &z_loaned_session_t,
+ key_expr: &z_loaned_keyexpr_t,
+ callback: &mut z_moved_closure_sample_t,
+ _options: Option<&mut z_subscriber_options_t>,
+) -> result::z_result_t {
+ let subscriber = _declare_subscriber_inner(session, key_expr, callback, _options);
+ match subscriber.background().wait() {
+ Ok(_) => result::Z_OK,
+ Err(e) => {
+ tracing::error!("{}", e);
+ result::Z_EGENERIC
+ }
+ }
+}
+
/// Returns the key expression of the subscriber.
#[no_mangle]
#[allow(clippy::missing_safety_doc)]
@@ -115,23 +155,7 @@ pub extern "C" fn z_subscriber_keyexpr(subscriber: &z_loaned_subscriber_t) -> &z
.as_loaned_c_type_ref()
}
-/// Undeclares and drops subscriber.
-///
-/// @return 0 in case of success, negative error code otherwise.
-#[allow(clippy::missing_safety_doc)]
-#[no_mangle]
-pub extern "C" fn z_undeclare_subscriber(this_: &mut z_moved_subscriber_t) -> result::z_result_t {
- if let Some(s) = this_.take_rust_type() {
- if let Err(e) = s.undeclare().wait() {
- tracing::error!("{}", e);
- return result::Z_EGENERIC;
- }
- }
- result::Z_OK
-}
-
-/// Drops subscriber and resets it to its gravestone state.
-/// The callback closure is not dropped and still keeps receiving and processing samples until the corresponding session is closed.
+/// Undeclares subscriber callback and resets it to its gravestone state.
#[no_mangle]
pub extern "C" fn z_subscriber_drop(this_: &mut z_moved_subscriber_t) {
std::mem::drop(this_.take_rust_type())
diff --git a/tests/z_api_alignment_test.c b/tests/z_api_alignment_test.c
index 8849268ed..0c10a7635 100644
--- a/tests/z_api_alignment_test.c
+++ b/tests/z_api_alignment_test.c
@@ -268,7 +268,7 @@ int main(int argc, char **argv) {
z_view_keyexpr_t ke;
z_view_keyexpr_from_str(&ke, keyexpr_str);
z_owned_subscriber_t _ret_sub;
- z_declare_subscriber(&_ret_sub, z_loan(s2), z_loan(ke), z_move(_ret_closure_sample), &_ret_sub_opt);
+ z_subscriber_declare(&_ret_sub, z_loan(s2), z_loan(ke), z_move(_ret_closure_sample), &_ret_sub_opt);
assert(z_internal_check(_ret_sub));
z_sleep_s(SLEEP);
@@ -305,8 +305,7 @@ int main(int argc, char **argv) {
assert(_ret_int8 == 0);
assert(!z_internal_check(_ret_expr));
- _ret_int8 = z_undeclare_subscriber(z_move(_ret_sub));
- assert(_ret_int8 == 0);
+ z_drop(z_move(_ret_sub));
// TODO: test for pull subscriber
@@ -338,7 +337,7 @@ int main(int argc, char **argv) {
assert(queries == 1);
assert(replies == 1);
- _ret_int8 = z_undeclare_queryable(z_move(qle));
+ z_drop(z_move(qle));
assert(_ret_int8 == 0);
#ifdef ZENOH_PICO
diff --git a/tests/z_api_double_drop_test.c b/tests/z_api_double_drop_test.c
index 50f5b3c1a..807681eb9 100644
--- a/tests/z_api_double_drop_test.c
+++ b/tests/z_api_double_drop_test.c
@@ -45,11 +45,11 @@ void test_publisher() {
z_keyexpr_from_str(&keyexpr, URL);
z_owned_publisher_t pub;
- z_declare_publisher(&pub, z_loan(s), z_loan(keyexpr), NULL);
+ z_publisher_declare(&pub, z_loan(s), z_loan(keyexpr), NULL);
assert(z_internal_check(pub));
- z_undeclare_publisher(z_move(pub));
+ z_drop(z_move(pub));
assert(!z_internal_check(pub));
- z_undeclare_publisher(z_move(pub));
+ z_drop(z_move(pub));
assert(!z_internal_check(pub));
z_drop(z_move(s));
}
@@ -88,11 +88,11 @@ void test_subscriber() {
z_view_keyexpr_t keyexpr;
z_view_keyexpr_from_str(&keyexpr, URL);
z_owned_subscriber_t sub;
- z_declare_subscriber(&sub, z_loan(s), z_loan(keyexpr), z_move(callback), NULL);
+ z_subscriber_declare(&sub, z_loan(s), z_loan(keyexpr), z_move(callback), NULL);
assert(z_internal_check(sub));
- z_undeclare_subscriber(z_move(sub));
+ z_drop(z_move(sub));
assert(!z_internal_check(sub));
- z_undeclare_subscriber(z_move(sub));
+ z_drop(z_move(sub));
assert(!z_internal_check(sub));
z_drop(z_move(s));
}
@@ -112,9 +112,9 @@ void test_queryable() {
z_owned_queryable_t queryable;
z_declare_queryable(&queryable, z_loan(s), z_loan(keyexpr), z_move(callback), NULL);
assert(z_internal_check(queryable));
- z_undeclare_queryable(z_move(queryable));
+ z_drop(z_move(queryable));
assert(!z_internal_check(queryable));
- z_undeclare_queryable(z_move(queryable));
+ z_drop(z_move(queryable));
assert(!z_internal_check(queryable));
z_drop(z_move(s));
}
diff --git a/tests/z_api_keyexpr_drop_test.c b/tests/z_api_keyexpr_drop_test.c
index 4e3e0d1a5..2597884d8 100644
--- a/tests/z_api_keyexpr_drop_test.c
+++ b/tests/z_api_keyexpr_drop_test.c
@@ -31,7 +31,7 @@ void test_publisher() {
z_view_keyexpr_t ke;
z_view_keyexpr_from_str(&ke, keyexpr);
z_owned_publisher_t pub;
- z_declare_publisher(&pub, z_loan(s), z_loan(ke), NULL);
+ z_publisher_declare(&pub, z_loan(s), z_loan(ke), NULL);
strncpy(keyexpr, "baz/quax", 256); // Update source string to ensure that the keyexpr is copied into publisher
z_view_keyexpr_from_str(&ke, keyexpr);
const z_loaned_keyexpr_t *pub_ke = z_publisher_keyexpr(z_loan(pub));
@@ -39,7 +39,7 @@ void test_publisher() {
z_keyexpr_as_view_string(pub_ke, &pub_keyexpr);
assert(strncmp(z_string_data(z_loan(pub_keyexpr)), "foo/bar", z_string_len(z_loan(pub_keyexpr))) ==
0); // Check that publisher keeps the correct keyexpr
- z_undeclare_publisher(z_move(pub));
+ z_drop(z_move(pub));
z_drop(z_move(s));
}
@@ -57,7 +57,7 @@ void test_subscriber() {
z_view_keyexpr_t ke;
z_view_keyexpr_from_str(&ke, keyexpr);
z_owned_subscriber_t sub;
- z_declare_subscriber(&sub, z_loan(s), z_loan(ke), z_move(callback), NULL);
+ z_subscriber_declare(&sub, z_loan(s), z_loan(ke), z_move(callback), NULL);
strncpy(keyexpr, "baz/quax", 256); // Update source string to ensure that the keyexpr is copied into the subscriber
z_view_keyexpr_from_str(&ke, keyexpr);
const z_loaned_keyexpr_t *sub_ke = z_subscriber_keyexpr(z_loan(sub));
@@ -65,7 +65,7 @@ void test_subscriber() {
z_keyexpr_as_view_string(sub_ke, &sub_keyexpr);
assert(strncmp(z_string_data(z_loan(sub_keyexpr)), "foo/bar", z_string_len(z_loan(sub_keyexpr))) ==
0); // Check that subscriber keeps the correct keyexpr
- z_undeclare_subscriber(z_move(sub));
+ z_drop(z_move(sub));
z_drop(z_move(s));
}
diff --git a/tests/z_api_liveliness.c b/tests/z_api_liveliness.c
index c7465132a..d7c2c1939 100644
--- a/tests/z_api_liveliness.c
+++ b/tests/z_api_liveliness.c
@@ -71,7 +71,7 @@ void test_liveliness_sub() {
z_closure(&closure, on_receive, NULL, (void*)(&context));
z_owned_subscriber_t sub;
- zc_liveliness_declare_subscriber(&sub, z_loan(s2), z_loan(k), z_move(closure), NULL);
+ zc_liveliness_subscriber_declare(&sub, z_loan(s2), z_loan(k), z_move(closure), NULL);
z_sleep_s(1);
zc_owned_liveliness_token_t t1, t2;
diff --git a/tests/z_int_pub_cache_query_sub_test.c b/tests/z_int_pub_cache_query_sub_test.c
index 8ee582cb7..2248c05ad 100644
--- a/tests/z_int_pub_cache_query_sub_test.c
+++ b/tests/z_int_pub_cache_query_sub_test.c
@@ -52,13 +52,13 @@ int run_publisher() {
z_view_keyexpr_from_str(&ke, keyexpr);
ze_owned_publication_cache_t pub_cache;
;
- if (ze_declare_publication_cache(&pub_cache, z_loan(s), z_loan(ke), &pub_cache_opts) < 0) {
+ if (ze_publication_cache_declare(&pub_cache, z_loan(s), z_loan(ke), &pub_cache_opts) < 0) {
perror("Unable to declare publication cache for key expression!\n");
return -1;
}
z_owned_publisher_t pub;
- if (z_declare_publisher(&pub, z_loan(s), z_loan(ke), NULL) < 0) {
+ if (z_publisher_declare(&pub, z_loan(s), z_loan(ke), NULL) < 0) {
perror("Unable to declare Publisher for key expression!");
return -1;
}
@@ -84,8 +84,8 @@ int run_publisher() {
printf("wait: sem_sub\n");
SEM_WAIT(sem_sub);
- ze_undeclare_publication_cache(z_move(pub_cache));
- z_undeclare_publisher(z_move(pub));
+ z_drop(z_move(pub_cache));
+ z_drop(z_move(pub));
z_drop(z_move(s));
return 0;
@@ -135,7 +135,7 @@ int run_subscriber() {
z_closure(&callback, data_handler, NULL, NULL);
ze_owned_querying_subscriber_t sub;
;
- if (ze_declare_querying_subscriber(&sub, z_loan(s), z_loan(ke), z_move(callback), NULL) != Z_OK) {
+ if (ze_querying_subscriber_declare(&sub, z_loan(s), z_loan(ke), z_move(callback), NULL) != Z_OK) {
perror("Unable to declare subscriber!");
return -1;
}
@@ -143,7 +143,7 @@ int run_subscriber() {
SEM_POST(sem_sub);
z_sleep_s(10);
- ze_undeclare_querying_subscriber(z_move(sub));
+ z_drop(z_move(sub));
z_drop(z_move(s));
return -1;
diff --git a/tests/z_int_pub_sub_attachment_test.c b/tests/z_int_pub_sub_attachment_test.c
index f0a5b9ed9..1056174ce 100644
--- a/tests/z_int_pub_sub_attachment_test.c
+++ b/tests/z_int_pub_sub_attachment_test.c
@@ -94,7 +94,7 @@ int run_publisher() {
z_view_keyexpr_t ke;
z_view_keyexpr_from_str(&ke, keyexpr);
z_owned_publisher_t pub;
- if (z_declare_publisher(&pub, z_loan(s), z_loan(ke), NULL) < 0) {
+ if (z_publisher_declare(&pub, z_loan(s), z_loan(ke), NULL) < 0) {
perror("Unable to declare Publisher for key expression!");
return -1;
}
@@ -126,7 +126,7 @@ int run_publisher() {
z_publisher_put(z_loan(pub), z_move(payload), &options);
}
- z_undeclare_publisher(z_move(pub));
+ z_drop(z_move(pub));
z_drop(z_move(s));
return 0;
}
@@ -182,7 +182,7 @@ int run_subscriber() {
z_closure(&callback, data_handler, NULL, NULL);
z_owned_subscriber_t sub;
- if (z_declare_subscriber(&sub, z_loan(s), z_loan(ke), z_move(callback), NULL) < 0) {
+ if (z_subscriber_declare(&sub, z_loan(s), z_loan(ke), z_move(callback), NULL) < 0) {
perror("Unable to declare subscriber!");
return -1;
}
@@ -190,7 +190,7 @@ int run_subscriber() {
SEM_POST(sem);
z_sleep_s(10);
- z_undeclare_subscriber(z_move(sub));
+ z_drop(z_move(sub));
z_drop(z_move(s));
return -1;
diff --git a/tests/z_int_pub_sub_test.c b/tests/z_int_pub_sub_test.c
index 457dcbb0c..4f502fda0 100644
--- a/tests/z_int_pub_sub_test.c
+++ b/tests/z_int_pub_sub_test.c
@@ -50,7 +50,7 @@ int run_publisher() {
publisher_options.congestion_control = Z_CONGESTION_CONTROL_BLOCK;
z_owned_publisher_t pub;
- if (z_declare_publisher(&pub, z_loan(s), z_loan(ke), &publisher_options) != Z_OK) {
+ if (z_publisher_declare(&pub, z_loan(s), z_loan(ke), &publisher_options) != Z_OK) {
perror("Unable to declare Publisher for key expression!");
return -1;
}
@@ -75,7 +75,7 @@ int run_publisher() {
z_publisher_put(z_loan(pub), z_move(payload), &options);
}
- z_undeclare_publisher(z_move(pub));
+ z_drop(z_move(pub));
z_drop(z_move(s));
return 0;
}
@@ -156,7 +156,7 @@ int run_subscriber() {
z_owned_closure_sample_t callback;
z_closure(&callback, data_handler, NULL, NULL);
z_owned_subscriber_t sub;
- if (z_declare_subscriber(&sub, z_loan(s), z_loan(ke), z_move(callback), NULL) < 0) {
+ if (z_subscriber_declare(&sub, z_loan(s), z_loan(ke), z_move(callback), NULL) < 0) {
perror("Unable to declare subscriber!");
return -1;
}
@@ -164,7 +164,7 @@ int run_subscriber() {
SEM_POST(sem);
sleep(10);
- z_undeclare_subscriber(z_move(sub));
+ z_drop(z_move(sub));
z_drop(z_move(s));
return -1;
diff --git a/tests/z_int_queryable_attachment_test.c b/tests/z_int_queryable_attachment_test.c
index 30cae247b..920b2f543 100644
--- a/tests/z_int_queryable_attachment_test.c
+++ b/tests/z_int_queryable_attachment_test.c
@@ -150,7 +150,7 @@ int run_queryable() {
SEM_POST(sem);
z_sleep_s(10);
- z_undeclare_queryable(z_move(qable));
+ z_drop(z_move(qable));
z_drop(z_move(s));
return 0;
}
diff --git a/tests/z_int_queryable_test.c b/tests/z_int_queryable_test.c
index 3bb58ecc8..b34e7cc66 100644
--- a/tests/z_int_queryable_test.c
+++ b/tests/z_int_queryable_test.c
@@ -82,7 +82,7 @@ int run_queryable() {
SEM_POST(sem);
z_sleep_s(10);
- z_undeclare_queryable(z_move(qable));
+ z_drop(z_move(qable));
z_drop(z_move(s));
return 0;
}
diff --git a/tests/z_leak_pub_sub_test.c b/tests/z_leak_pub_sub_test.c
index e4315d3cb..98bb0504b 100644
--- a/tests/z_leak_pub_sub_test.c
+++ b/tests/z_leak_pub_sub_test.c
@@ -51,7 +51,7 @@ int main(int argc, char **argv) {
z_open(&pub_session, z_move(pub_config), NULL);
z_owned_publisher_t publisher;
- z_declare_publisher(&publisher, z_loan(pub_session), z_loan(pub_keyexpr), NULL);
+ z_publisher_declare(&publisher, z_loan(pub_session), z_loan(pub_keyexpr), NULL);
printf("Declaring Subscriber on %s\n", SUB_KEY_EXPR);
@@ -68,7 +68,7 @@ int main(int argc, char **argv) {
z_closure(&callback, data_handler, NULL, NULL);
z_owned_subscriber_t subscriber;
- z_declare_subscriber(&subscriber, z_loan(sub_session), z_loan(sub_keyexpr), z_move(callback), NULL);
+ z_subscriber_declare(&subscriber, z_loan(sub_session), z_loan(sub_keyexpr), z_move(callback), NULL);
z_sleep_s(1);
@@ -86,8 +86,8 @@ int main(int argc, char **argv) {
z_sleep_s(1);
}
- z_undeclare_publisher(z_move(publisher));
- z_undeclare_subscriber(z_move(subscriber));
+ z_drop(z_move(publisher));
+ z_drop(z_move(subscriber));
z_drop(z_move(pub_session));
z_drop(z_move(sub_session));
z_drop(z_move(pub_keyexpr));
diff --git a/tests/z_leak_queryable_get_test.c b/tests/z_leak_queryable_get_test.c
index 126a687f4..6b1c4e133 100644
--- a/tests/z_leak_queryable_get_test.c
+++ b/tests/z_leak_queryable_get_test.c
@@ -120,7 +120,7 @@ int main(int argc, char **argv) {
}
assert(received_replies == 5);
- z_undeclare_queryable(z_move(queryable));
+ z_drop(z_move(queryable));
z_drop(z_move(get_session));
z_drop(z_move(queryable_session));
z_drop(z_move(queryable_keyexpr));