Consume RPC values at their owning boundary

Consume RPC values at their owning boundary

Workbench replaces detachWorkbenchPortableValue() and WorkbenchDetached<T> with consumeWorkbenchValue() and WorkbenchSnapshot<T>. Queries, mutations and manual value reads transfer ownership of their entire result tree. The boundary validates, removes transport metadata, freezes the decoded tree in place and releases its transport result, without a second deep copy. Local values must be owned or already immutable; callers must not pass borrowed mutable state or separately dispose a consumed result. Null-prototype objects retain their prototype. Hidden data properties and non-removable transport metadata are rejected.

Management clients consume transport envelopes before domain parsing. Domain parsers construct the final immutable snapshot directly, avoiding an intermediate copied tree; opaque config, log and form values remain independently copied. Portable values reject sparse arrays, extra array properties, accessors and non-enumerable payload fields. Lifecycle, cache isolation and late-result disposal remain owned by the existing session and renderer scopes.

最后更新于

本页目录