opcda-bridge
Reusable async Rust client for the opcda-bridge
gateway's gRPC API. It provides typed capabilities, lazy paged browsing, progressive live search,
persistent indexed search and index controls, list-servers, read, and write operations without
bringing in the command-line client's presentation dependencies.
[]
= "0.4"
This crate has its own independent release version. It does not need to match the client or gateway version; applications should select a compatible protocol and capability contract.
Use Client::gateway_info() to retrieve the gateway-wide protocol profile without an OPC DA
server, or Client::compatibility() to evaluate the reusable library's profile. For older
gateways, pass a server ProgID to Client::compatibility(Some("...")) so the library can infer the
legacy capabilities contract. The result reports per-feature compatibility and whether the exact
package pair is covered by boundary evidence; protocol overlap, not package-version equality,
governs normal operation.
The library exposes typed capabilities, one-page browse sessions, explicit continuation and session close operations, progressive search events, and read/write methods. Browse pages are not automatically drained; callers that need bulk results must collect pages explicitly.
Client::read returns semantic values. For an OPC DA VT_BSTR, TagValue::value contains the
exact BSTR contents without added or removed quote characters.
use ;
# async
Indexed search never falls back to live namespace traversal. Each response includes the index
readiness state and has_more; returned ItemIDs preserve the server's exact identity and do not
contain browse-session node keys. Use refresh_search_index and control_search_index for
explicit refresh, pause, resume, and cancel operations.
See the crate documentation for method signatures and the repository README for gateway setup and protocol details.