[][src]Crate windowed_infinity

This crate provides the WindowedInfinity struct and implementations of various traits to write to it.

Its primary is to wrap a small buffer such that writes to it advance a cursor over a larger imaginary buffer, only persisting writes to the small buffer. After the buffer has been processed, a new WindowedInfinity can be set up and the writing process repeated. This is wasteful when the writes are computationally expensive, but convenient when operations only rarely exceed the buffer.

A typical practical example of WindowedInfinity application is the implementation of CoAP block-wise transfer according to RFC7959; a simpler example is available in the demo.rs example.



A WindowedInfinity represents an infinite writable space. A small section of it is mapped to a &mut u8 to which writes are forwarded; writes to the area outside only advance a cursor.