use super::common::{decoders, encoders};
use super::*;
use crate::client::blocking::{ClientRequestBuilders, Subscription};
use crate::client::sync::Client;
use crate::common::request_helpers::{self, expect_proto};
use crate::contracts::TagValue;
use crate::messages::OutgoingMessages;
use crate::Error;
impl Client {
pub fn scanner_parameters(&self) -> Result<String, Error> {
request_helpers::blocking::one_shot_shared(
self,
OutgoingMessages::RequestScannerParameters,
encoders::encode_scanner_parameters,
expect_proto(decoders::decode_scanner_parameters_proto),
)
}
pub fn scanner_subscription(&self, subscription: &ScannerSubscription, filter: &[TagValue]) -> Result<Subscription<Vec<ScannerData>>, Error> {
let builder = self.request();
let request = encoders::encode_scanner_subscription(builder.request_id(), subscription, filter)?;
builder.send(request)
}
}
#[cfg(test)]
#[path = "sync_tests.rs"]
mod tests;