The transport layer abstraction of the HTTP components.
This layer is used to transfer messages over connections.
Connections are typically based on sockets: plain or secure,
direct or via SOCKS hosts, with bandwidth throttling, or
whatever else you might think of.
However, opening connections is not within the responsibility
of HttpCore.
The data {@link org.apache.http.io.HttpDataTransmitter transmitter}
and {@link org.apache.http.io.HttpDataReceiver receiver} interfaces
provide an abstraction from
java.io
and java.nio
.
These interfaces are adapted to the plain
{@link org.apache.http.io.HttpDataOutputStream output} and
{@link org.apache.http.io.HttpDataInputStream input} streams
used in the {@link org.apache.http core API}.
There are implementations of the transport encodings used by HTTP,
in particular the chunked encoding for
{@link org.apache.http.io.ChunkedOutputStream sending} and
{@link org.apache.http.io.ChunkedInputStream receiving} entities.