ipp.rs
IPP protocol implementation for Rust. This crate implements IPP protocol as defined in RFC 8010, RFC 8011.
It supports both synchronous and asynchronous operations (requests and responses) which is controlled by the async feature flag.
The following build-time features are supported:
async- enables asynchronous APIs.async-client- enables an asynchronous IPP client based onreqwestcrate, impliesasyncfeature.async-client-rustls- enables an asynchronous IPP client with TLS, usingrustlsbackend. Impliesasync-clientfeature.async-client-tls- enables an asynchronous IPP client with TLS, usingnative-tlsbackend. Impliesasync-clientfeature.client- enables a blocking IPP client based onureqcrate.client-rustls- enables a blocking IPP client with TLS, usingrustlsbackend. Impliesclientfeature.client-tls- enables a blocking IPP client with TLS, usingnative-tlsbackend. Impliesclientfeature.
By default, the async-client-rustls feature is enabled. Some old printers may not support the latest TLS standards;
in that case you can choose to use async-client-tls or client-tls which will use platform-specific native-tls.
Usage example for an async client:
use *;
async
For more usage examples please check the examples folder.
License
Licensed under MIT or Apache license (LICENSE-MIT or LICENSE-APACHE)