20 lines
1.5 KiB
Markdown
20 lines
1.5 KiB
Markdown
# wip-host
|
|
|
|
Framework-independent Host publication and operation dispatch for the Worldspace Interface Protocol (WIP).
|
|
|
|
`wip-host` registers generated interfaces, explicitly publishes them on request-scoped objects, validates object and interface preconditions, and performs interface-qualified operation dispatch against one host-owned instance. Backend transactions, persistence, and network serving remain application responsibilities.
|
|
|
|
```toml
|
|
[dependencies]
|
|
wip-host = "0.2.0"
|
|
wip-interface = "0.2.0"
|
|
```
|
|
|
|
Protocol publication and dispatch use `wip_protocol::InterfaceReference { scope, name }` and compare both fields exactly. Registration takes an explicit `Scope` and local name; `InterfaceRef::protocol_reference()` preserves those coordinates without parsing display text. Providers attach a current `ScopeObservation` inside the coherent backend boundary, and fetch returns its optional Object ref as `scope_ref`. Calls check a supplied `scope_ref` against that current binding; omission adds no identity precondition. Retire a Scope on Object deletion, replacement or movement; retained registry artifacts alone do not establish publication.
|
|
|
|
Malformed interface-reference shapes fail calls as `InvalidRequest` before object resolution. A well-shaped reference outside the target path's ancestor-or-self scope fails at the membership check as `InterfaceMismatch`.
|
|
|
|
See the [API documentation](https://docs.rs/wip-host) for publication, provider, execution-context, and effect-guarantee boundaries.
|
|
|
|
Licensed under either of Apache-2.0 or MIT at your option.
|