Skip to content

Commit 6ebbfba

Browse files
committed
querier/queriable ported
1 parent 8f03769 commit 6ebbfba

15 files changed

Lines changed: 87 additions & 138 deletions

File tree

zenoh-flat-jni/build.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,9 @@ fn main() {
197197
.class_fun(pq!(z_publisher_put))
198198
.class_fun(pq!(z_publisher_delete))
199199
.ptr_class(pq!(ZSubscriber))
200+
.package("query")
201+
.ptr_class(pq!(ZQueryable))
202+
.ptr_class(pq!(ZQuerier))
200203
.into_sources(
201204
pq!(ZBytes),
202205
[
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// Auto-generated by JniExt — do not edit by hand.
2+
package io.zenoh.jni.query
3+
4+
/** Typed handle for a native Zenoh `ZQuerier`. */
5+
public class ZQuerier(initialPtr: Long) : AutoCloseable {
6+
@Volatile internal var ptr: Long = initialPtr
7+
8+
public fun peek(): Long = ptr
9+
public fun isClosed(): Boolean = ptr == 0L
10+
11+
@Synchronized
12+
override fun close() {
13+
val p = ptr
14+
if (p != 0L) {
15+
ptr = 0L
16+
freePtr(p)
17+
}
18+
}
19+
20+
@Synchronized
21+
public fun take(): ZQuerier {
22+
val p = ptr
23+
ptr = 0L
24+
return ZQuerier(p)
25+
}
26+
27+
public companion object {
28+
@JvmStatic
29+
external fun freePtr(ptr: Long)
30+
}
31+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// Auto-generated by JniExt — do not edit by hand.
2+
package io.zenoh.jni.query
3+
4+
/** Typed handle for a native Zenoh `ZQueryable`. */
5+
public class ZQueryable(initialPtr: Long) : AutoCloseable {
6+
@Volatile internal var ptr: Long = initialPtr
7+
8+
public fun peek(): Long = ptr
9+
public fun isClosed(): Boolean = ptr == 0L
10+
11+
@Synchronized
12+
override fun close() {
13+
val p = ptr
14+
if (p != 0L) {
15+
ptr = 0L
16+
freePtr(p)
17+
}
18+
}
19+
20+
@Synchronized
21+
public fun take(): ZQueryable {
22+
val p = ptr
23+
ptr = 0L
24+
return ZQueryable(p)
25+
}
26+
27+
public companion object {
28+
@JvmStatic
29+
external fun freePtr(ptr: Long)
30+
}
31+
}

zenoh-flat-jni/src/outdated/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,5 @@ pub mod liveliness;
55
pub mod logger;
66
pub mod querier;
77
pub mod query;
8-
pub mod queryable;
98
pub mod session;
109
pub mod zenoh_id;

zenoh-flat-jni/src/outdated/querier.rs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,3 @@ pub unsafe extern "C" fn Java_io_zenoh_jni_JNIQuerier_getViaJNI(
2626
zenoh_jni::querier::Java_io_zenoh_jni_JNIQuerier_getViaJNI(env, _class, querier_ptr, key_expr_ptr, key_expr_str, selector_params, callback, on_close, attachment, payload, encoding_id, encoding_schema)
2727
}
2828

29-
#[no_mangle]
30-
pub unsafe extern "C" fn Java_io_zenoh_jni_JNIQuerier_freePtrViaJNI(
31-
_env: JNIEnv,
32-
_class: JClass,
33-
querier_ptr: *const Querier<'static>,
34-
) {
35-
zenoh_jni::querier::Java_io_zenoh_jni_JNIQuerier_freePtrViaJNI(_env, _class, querier_ptr)
36-
}

zenoh-flat-jni/src/outdated/queryable.rs

Lines changed: 0 additions & 22 deletions
This file was deleted.

zenoh-flat/src/lib.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,6 @@ pub type ZScout = zenoh::scouting::Scout<()>;
4343
pub type ZZBytes = zenoh::bytes::ZBytes;
4444
pub type ZEncoding = zenoh::bytes::Encoding;
4545
pub type ZPublisher = zenoh::pubsub::Publisher<'static>;
46-
pub type ZSubscriber = zenoh::pubsub::Subscriber<()>;
46+
pub type ZSubscriber = zenoh::pubsub::Subscriber<()>;
47+
pub type ZQueryable = zenoh::query::Queryable<()>;
48+
pub type ZQuerier = zenoh::query::Querier<'static>;

zenoh-java/src/commonMain/kotlin/io/zenoh/jni/JNIQuerier.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,6 @@ internal class JNIQuerier(val ptr: Long) {
114114
return receiver
115115
}
116116

117-
fun close() {
118-
freePtrViaJNI(ptr)
119-
}
120-
121117
@Throws(ZError::class)
122118
private external fun getViaJNI(
123119
querierPtr: Long,
@@ -132,6 +128,4 @@ internal class JNIQuerier(val ptr: Long) {
132128
encodingSchema: String?,
133129
)
134130

135-
private external fun freePtrViaJNI(ptr: Long)
136-
137131
}

zenoh-java/src/commonMain/kotlin/io/zenoh/jni/JNIQueryable.kt

Lines changed: 0 additions & 30 deletions
This file was deleted.

zenoh-java/src/commonMain/kotlin/io/zenoh/jni/JNISession.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ internal class JNISession(val sessionPtr: Long) {
170170
fun() {},
171171
config.complete
172172
)
173-
return CallbackQueryable(keyExpr, JNIQueryable(queryableRawPtr))
173+
return CallbackQueryable(keyExpr, io.zenoh.jni.query.ZQueryable(queryableRawPtr))
174174
}
175175

176176
@Throws(ZError::class)
@@ -206,7 +206,7 @@ internal class JNISession(val sessionPtr: Long) {
206206
handler::onClose,
207207
config.complete
208208
)
209-
return HandlerQueryable(keyExpr, JNIQueryable(queryableRawPtr), handler.receiver())
209+
return HandlerQueryable(keyExpr, io.zenoh.jni.query.ZQueryable(queryableRawPtr), handler.receiver())
210210
}
211211

212212
@OptIn(Unstable::class)
@@ -233,7 +233,7 @@ internal class JNISession(val sessionPtr: Long) {
233233
priority = options.priority,
234234
express = options.express
235235
),
236-
JNIQuerier(querierRawPtr)
236+
io.zenoh.jni.query.ZQuerier(querierRawPtr)
237237
)
238238
}
239239

0 commit comments

Comments
 (0)