Streaming bodies for Requests and Responses
For both Clients and Servers, requests and responses use streaming bodies, instead of complete buffering. This allows applications to not use memory they don’t need, and allows exerting back-pressure on connections by only reading when asked.
There are two pieces to this in hyper:
HttpBodytrait describes all possible bodies. hyper allows any body type that implements
HttpBody, allowing applications to have fine-grained control over their streaming.
Bodyconcrete type, which is an implementation of
HttpBody, and returned by hyper as a “receive stream” (so, for server requests and client responses). It is also a decent default implementation if you don’t have very custom needs of your send streams.
A stream of
Bytes, used when receiving bodies.
A cheaply cloneable and sliceable chunk of contiguous memory.
Body size hint