pub struct Client { /* private fields */ }Expand description
A connected client for an opcda-bridge gateway’s gRPC API.
Every method takes &mut self, matching the generated BridgeClient’s
own requirement (it buffers per-call codec state); the underlying
tonic channel itself is a cheap-to-reuse, multiplexed HTTP/2
connection, so a single Client is meant to be held and reused across
many calls rather than reconnected per request (unlike
opcda-bridge-client’s CLI, which is a fresh process per invocation and
so never notices the difference).
Implementations§
Source§impl Client
impl Client
Sourcepub async fn connect(host: &str) -> Result<Self>
pub async fn connect(host: &str) -> Result<Self>
Connect to a gateway at host (e.g. "localhost:7600").
Matches opcda-bridge-client’s long-standing http://{host} scheme
assumption: the gateway only ever serves plaintext HTTP/2 (no TLS).
Sourcepub async fn list_servers(&mut self) -> Result<Vec<String>>
pub async fn list_servers(&mut self) -> Result<Vec<String>>
List the OPC DA servers registered on the gateway’s host.
Sourcepub async fn browse(
&mut self,
server: String,
flat: bool,
path: String,
max_tags: u32,
) -> Result<Vec<BrowseNode>>
pub async fn browse( &mut self, server: String, flat: bool, path: String, max_tags: u32, ) -> Result<Vec<BrowseNode>>
Browse one level of server’s tag tree rooted at path (empty for
the top level), fully materialized into a Vec rather than a raw
stream. Every current caller (the CLI, and any bhtune-style
consumer) wants a complete result before doing anything else, so
this drains the stream internally rather than exposing it, sparing
callers a dependency on tokio-stream/futures just to consume it.
flat and max_tags are forwarded to the gateway unchanged; the
gateway alone decides how they affect what’s returned (e.g. flat
yielding every descendant tag instead of one level). path selects
which branch of the tree to browse.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Client
impl !RefUnwindSafe for Client
impl !UnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl UnsafeUnpin for Client
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request