pub struct RegistryClientHandle { /* private fields */ }Expand description
FFI handle for a RegistryClient.
The inner client is wrapped in a RwLock so concurrent ops
(entry points are called from many threads in async runtimes)
can share read access while a set_deadline writer
serializes. last_error_detail lives behind a separate
parking_lot::Mutex; net_registry_last_error_detail
returns an owned copy of its contents (freed with
net_free_string), so the returned pointer never aliases this
mutex-owned slot and can’t dangle on overwrite/free.
Uses the same HandleGuard quiescing recipe as the
cortex/mesh/redis-dedup handles (see super::handle_guard):
the inner fields live in ManuallyDrop, every op gates on
guard.try_enter(), and _free drains in-flight ops via
begin_free() before dropping the inner — the box itself is
leaked, never Box::from_raw’d, so a _free racing a
concurrent op can’t deallocate the lock out from under it.