Client is used to query information about devices on a Linux system from the Linux kernel and the udev device
manager.
Device information is retrieved from the kernel (through the sysfs filesystem) and the udev daemon (through a tmpfs
filesystem) and presented through Device objects. This means that no blocking IO ever
happens (in both cases, we are essentially just reading data from kernel memory) and as such there are no asynchronous versions of the
provided methods.