Skip to main content

Crate ninep_client

Crate ninep_client 

Source
Expand description

Asynchronous 9P2000.L client.

§Reconnection

Fids and byte-range locks are connection-scoped. The client records their replay state, reconnects with backoff, and restores that state before releasing blocked requests. Reorder-sensitive mutations retain one op-id across resends. Resends stop at the protocol retry horizon; expiry returns a disconnect error with an ambiguous outcome.

An op-id is local to one public mutation future and is not reusable after the future completes or is cancelled.

Dropping a future after a fid- or lock-state request is dispatched retires the connection that carried it. If that connection is still current, requests wait for reconnect and replay before resuming.

The negotiated message size is fixed for the logical session. Reconnect candidates must negotiate the same value.

Replay restores recorded fids and locks before the replacement connection becomes live. An opened fid that no longer exists becomes an ESTALE tombstone; its operations fail without affecting other fids. Failure to restore a held lock terminates the logical session.

Structs§

NinePClient
ReaddirState
Readdir paging state.
SetattrBuilder
Builds a Tsetattr; None fields remain unchanged.
TrafficStats
Cumulative wire traffic for this logical client across reconnects.

Enums§

ClientError
SetattrTime
A time to set: the server’s clock, or an explicit instant.
Target
A 9P endpoint. Multi-target clients probe for the serving leader.

Constants§

NOFID
The 9P sentinel for an absent fid, including an unauthenticated Tattach.afid.

Traits§

DirEntryCookie
An entry type with a 9P readdir cookie.

Type Aliases§

ClientResult