pub struct PvaChannel { /* private fields */ }Expand description
A persistent PVA channel for high-rate streaming PUT operations.
Created via PvaClient::open_put_channel, this keeps the TCP connection
open and reuses the PUT introspection for repeated writes without
per-operation handshake overhead.
§Example
ⓘ
let client = PvaClient::builder().build();
let mut channel = client.open_put_channel("MY:PV").await?;
for value in 0..100 {
channel.put(value as f64).await?;
}Implementations§
Source§impl PvaChannel
impl PvaChannel
Sourcepub async fn put(&mut self, value: impl Into<Value>) -> Result<(), PvGetError>
pub async fn put(&mut self, value: impl Into<Value>) -> Result<(), PvGetError>
Write a value over the persistent channel.
Automatically sends echo keepalive pings when more than 10 seconds have elapsed since the last one.
Sourcepub fn introspection(&self) -> &StructureDesc
pub fn introspection(&self) -> &StructureDesc
Returns the PUT introspection for this channel.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PvaChannel
impl RefUnwindSafe for PvaChannel
impl Send for PvaChannel
impl Sync for PvaChannel
impl Unpin for PvaChannel
impl UnsafeUnpin for PvaChannel
impl UnwindSafe for PvaChannel
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
Mutably borrows from an owned value. Read more