@@ -109,6 +109,13 @@ fn main() {
109109 // per-call `zZbytesFromVec` crossing. (No identity arm: the SDK never
110110 // holds a ZZBytes handle for these.)
111111 . constructor ( pq ! ( z_zbytes_from_vec) )
112+ // Combined ACCESSOR for ZZBytes (output expansion): an `Option<&ZZBytes>`
113+ // return (e.g. z_sample_attachment) is decomposed into its bytes
114+ // (`z_zbytes_to_bytes` → ByteArray) and delivered to a builder lambda —
115+ // no transient handle + `close()`. No identity record (the SDK ZBytes
116+ // holds the ByteArray, not the native handle).
117+ . combined_accessor ( pq ! ( ZZBytes ) )
118+ . combined_accessor_record ( pq ! ( z_zbytes_to_bytes) )
112119 . ptr_class ( pq ! ( ZEncoding ) )
113120 . package_fun ( pq ! ( z_encoding_id) )
114121 . package_fun ( pq ! ( z_encoding_schema) )
@@ -177,6 +184,14 @@ fn main() {
177184 . ptr_class ( pq ! ( ZTimestamp ) )
178185 . package_fun ( pq ! ( z_timestamp_ntp64) )
179186 . package_fun ( pq ! ( z_timestamp_id) )
187+ // Combined ACCESSOR for ZTimestamp (output expansion): an
188+ // `Option<&ZTimestamp>` return (z_sample_timestamp) is decomposed into
189+ // its NTP64 value (`z_timestamp_ntp64` → i64 → boxed Long) and delivered
190+ // to a builder lambda — no second `zTimestampNtp64` crossing, no
191+ // transient handle. No identity record (zenoh-java's TimeStamp keeps the
192+ // Long, not the native handle).
193+ . combined_accessor ( pq ! ( ZTimestamp ) )
194+ . combined_accessor_record ( pq ! ( z_timestamp_ntp64) )
180195 . package ( "sample" )
181196 . enum_class ( pq ! ( SampleKind ) )
182197 . ptr_class ( pq ! ( ZSample ) )
@@ -186,10 +201,12 @@ fn main() {
186201 . package_fun ( pq ! ( z_sample_encoding) )
187202 . package_fun ( pq ! ( z_sample_kind) )
188203 . package_fun ( pq ! ( z_sample_timestamp) )
204+ . expand_output ( ) // Option<&ZTimestamp> → builder (Long ntp64) → R?
189205 . package_fun ( pq ! ( z_sample_express) )
190206 . package_fun ( pq ! ( z_sample_priority) )
191207 . package_fun ( pq ! ( z_sample_congestion_control) )
192208 . package_fun ( pq ! ( z_sample_attachment) )
209+ . expand_output ( ) // Option<&ZZBytes> → builder (ByteArray) → R?
193210 . package ( "pubsub" )
194211 . ptr_class ( pq ! ( ZPublisher ) )
195212 . package_fun ( pq ! ( z_publisher_put) )
0 commit comments