Skip to main content

Client

Struct Client 

Source
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

Source

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).

Source

pub async fn list_servers(&mut self) -> Result<Vec<String>>

List the OPC DA servers registered on the gateway’s host.

Source

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.

Source

pub async fn read( &mut self, server: String, tags: Vec<String>, ) -> Result<Vec<TagValue>>

Read one or more tag values from server.

Source

pub async fn write( &mut self, server: String, tag: String, value: Value, ) -> Result<WriteResult>

Write value to tag on server.

Trait Implementations§

Source§

impl Debug for Client

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more