This extracts the URLConnection APIs to their own project. I still need to
go back and clean up some names in tests, add documentation, and move the
actual HttpURLConnection implementation details into this module.
Compelling alternative is ReadableBody and WritableBody, or BodySource and BodySink.
Which in theory permits reuse for serverside body makers. But I don't like those names
as much.
This required some reworking to the harness since Netty doesn't
want to be used with an ExecutorService.
NettyHttpClient [HTTP_11]
bodyByteCount=1048576 headerCount=20 concurrencyLevel=10
Requests per second: 597.1
OkHttp [HTTP_11]
bodyByteCount=1048576 headerCount=20 concurrencyLevel=10
Requests per second: 705.2
Sample output:
OkHttp [gzip, chunked, HTTP_11]
bodyByteCount=1048576 headerCount=20 threadCount=10
Requests per second: 121.0
Requests per second: 304.6
Requests per second: 379.1
Requests per second: 386.9
Requests per second: 369.2
Requests per second: 390.8
Requests per second: 368.8
Requests per second: 325.2
Requests per second: 409.4
Requests per second: 389.1