Commit Graph

21 Commits

Author SHA1 Message Date
Carl Lerche
14f35f1be6 Handle malformed HEADERS 2017-08-30 18:16:21 -04:00
Carl Lerche
b0e6867877 Fix warnings 2017-08-24 15:52:01 -07:00
Carl Lerche
c439232ed2 Handle more H2 details 2017-08-10 21:08:57 -07:00
Carl Lerche
0d61832bf3 Extra log output 2017-08-10 16:13:36 -07:00
Carl Lerche
e810b30999 Track http crate changes 2017-08-03 10:00:50 -07:00
Carl Lerche
a203365d79 Switch to string crate (#6) 2017-07-26 13:20:26 -07:00
Oliver Gould
7f21954724 Implement ping_pong (#1)
* comments

* wip

* wip

* Sketch out pingpong and keepalive stack modules

PingPong responds to ping requests with acknowledgements.
KeepAlive issues ping requests on idle connections.

* remove keepalive for now

* commentary

* prettify ping_pong's poll

* test ping pong and passthrough

* add buffering test

* Use a fixed-size slice for ping payloads

* Improve pong dispatch

pong messages should be buffered until Stream::poll returns
Async::NotReady or Async::Ready(None) (i.e. such that it is not expected
to be polled again).  pong messages are now dispatched when no more data
may be polled or the Sink half is activated.

* revert name change

* touchup

* wip

* Simplify Stream::poll

Now PingPong only holds at most one pending pong and the stream will not
produce additional frames unti the ping has been sent.

Furthermore, we shouldn't have to call inner.poll_complete quite so
frequently.

* avoid Bytes::split_to

* only use buf internally to Ping::load
2017-06-30 13:58:14 -07:00
Carl Lerche
fee43a09c8 Fix warnings 2017-06-27 12:23:57 -07:00
Carl Lerche
7897b770e9 Get a request sent 2017-06-26 22:25:25 -07:00
Carl Lerche
a3950354aa Header frame decoding 2017-06-20 09:16:21 -07:00
Carl Lerche
c12a9a86ae Don't allocate on each call to huffman decode 2017-06-13 14:39:39 -07:00
Carl Lerche
c7de880f6c More bug fixes 2017-06-13 13:46:45 -07:00
Carl Lerche
a7da819e45 More encoding work 2017-06-02 14:33:09 -07:00
Carl Lerche
f45a4b4cd7 Get HPACK decoder working 2017-05-31 14:44:38 -07:00
Carl Lerche
b9da06a576 More work on HPACK decoding 2017-05-30 21:56:50 -07:00
Carl Lerche
3c850c2a34 Finish hpack decoding 2017-05-30 15:41:31 -07:00
Carl Lerche
eb00f71caf More hpack work 2017-03-15 17:16:00 -07:00
Carl Lerche
73706494ef Work on huffman decoding 2017-03-13 14:00:22 -07:00
Carl Lerche
490ae8c05d work 2017-03-12 22:33:45 -07:00
Carl Lerche
59bc8a9a7e work 2017-03-12 13:44:38 -07:00
Carl Lerche
769f3f142f More work 2017-03-11 12:59:15 -08:00