pub enum ComRequest {
ListServers {
host: String,
reply: Sender<OpcResult<Vec<String>>>,
},
ReadTagValues {
server: String,
tag_ids: Vec<String>,
presentation: ReadPresentation,
reply: Sender<OpcResult<Vec<TagValue>>>,
},
WriteTagValue {
server: String,
tag_id: String,
value: OpcValue,
reply: Sender<OpcResult<WriteResult>>,
},
BrowseTags {
server: String,
max_tags: usize,
progress: Arc<AtomicUsize>,
tags_sink: Arc<Mutex<Vec<String>>>,
reply: Sender<OpcResult<Vec<String>>>,
},
BrowseCapabilities {
server: String,
reply: Sender<OpcResult<BrowseCapabilities>>,
},
OpenBrowseSession {
server: String,
reply: Sender<OpcResult<BrowseSessionToken>>,
},
BrowsePage {
session: BrowseSessionToken,
request: BrowsePageRequest,
reply: Sender<OpcResult<BrowsePage>>,
},
CloseBrowseSession {
session: BrowseSessionToken,
reply: Sender<OpcResult<()>>,
},
}Expand description
Represents a asynchronous request dispatched to the COM worker thread.
Variants§
ListServers
Request to enumerate available OPC DA servers on a host.
Fields
ReadTagValues
Request to read current values, quality, and timestamps for tag IDs.
Fields
presentation: ReadPresentationValue formatting intent for this read.
WriteTagValue
Request to write a typed value to a single tag.
Fields
reply: Sender<OpcResult<WriteResult>>One-shot channel to send back the write operation result.
BrowseTags
Request to recursively browse available tags on a server.
Fields
Maximum number of tags to discover before stopping.
progress: Arc<AtomicUsize>Atomic counter tracking total tags discovered.
Shared mutex-protected vector storing discovered tag names incrementally.
BrowseCapabilities
Request the native browse capabilities of a server.
Fields
reply: Sender<OpcResult<BrowseCapabilities>>One-shot channel to send back the capabilities.
OpenBrowseSession
Open an isolated native browse session.
Fields
reply: Sender<OpcResult<BrowseSessionToken>>One-shot channel to send back the opaque session token.
BrowsePage
Request one bounded native browse page.
Fields
session: BrowseSessionTokenOpaque browse session token.
request: BrowsePageRequestOne-level browse request.
reply: Sender<OpcResult<BrowsePage>>One-shot channel to send back the page.
CloseBrowseSession
Close an isolated native browse session.