pub struct DeviceInformation {
pub address: SocketAddr,
pub vendor: Option<String>,
pub product: Option<String>,
pub serial: Option<String>,
pub version: Option<String>,
pub build: Option<String>,
pub name: Option<String>,
pub features: Option<String>,
}
Expand description
A struct containing information about a VBus-over-TCP device.
Fields§
§address: SocketAddr
The SocketAddr
of the web server.
vendor: Option<String>
The vendor of the device.
product: Option<String>
The product name of the device.
serial: Option<String>
The serial number of the device.
version: Option<String>
The firmware version of the device.
build: Option<String>
The firmware build of the device.
name: Option<String>
The user-chosen name of the device.
features: Option<String>
The comma separated list of features supported by the device.
Implementations§
Source§impl DeviceInformation
impl DeviceInformation
Sourcepub async fn fetch(
addr: SocketAddr,
timeout: Duration,
) -> Result<DeviceInformation>
pub async fn fetch( addr: SocketAddr, timeout: Duration, ) -> Result<DeviceInformation>
Fetch and parse the information from a VBus-over-TCP device.
This function performs a web request to the /cgi-bin/get_resol_device_information
endpoint and tries to parse the resulting information into a DeviceInformation
instance.
§Examples
use async_resol_vbus::DeviceInformation;
let address = "192.168.5.217:80".parse()?;
let duration = std::time::Duration::from_millis(2000);
let device = DeviceInformation::fetch(address, duration).await?;
assert_eq!(address, device.address);
Sourcepub fn parse(address: SocketAddr, s: &str) -> Result<DeviceInformation>
pub fn parse(address: SocketAddr, s: &str) -> Result<DeviceInformation>
Parse the information of a VBus-over-TCP device.
§Examples
use async_resol_vbus::DeviceInformation;
let address = "192.168.5.217:80".parse()?;
let string = "vendor = \"RESOL\"\nproduct = \"KM2\"\n...";
let device = DeviceInformation::parse(address, string)?;
assert_eq!(address, device.address);
assert_eq!("RESOL", device.vendor.as_ref().unwrap());
assert_eq!("KM2", device.product.as_ref().unwrap());
Trait Implementations§
Source§impl Clone for DeviceInformation
impl Clone for DeviceInformation
Source§fn clone(&self) -> DeviceInformation
fn clone(&self) -> DeviceInformation
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for DeviceInformation
impl RefUnwindSafe for DeviceInformation
impl Send for DeviceInformation
impl Sync for DeviceInformation
impl Unpin for DeviceInformation
impl UnwindSafe for DeviceInformation
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