carllerche/mio — pull request #51 by rrichardson (2014-11-15 12:54:44+00:00)
Title: broke io::read/write out into non-buffering and buffering solutions

OK. Here is the pull request which addresses issues #45, #46, and #47. It is pretty large, the IoEventCtx plays a more important role in things, since re-registration is so common. I renamed to IoEventCtx and added the Token to it, to simplify the interface into the the register functions.

For an advanced example of how the event re-registration can actually help simplify a state machine, check out the revised test_echo_server.

* more tweaks to make the tests pass, also made the return type uint instead of () so the customer doesn't have to go looking through the buffer for answers
* addressing issues 45, 46, and 47. Added re-registration via an IoEventContext into the event_loop. Supports both edge triggered and level triggered setups.
* Changed * net::read and write to not use a loop.. added read_all and write_all to use them and perform the old behavior
* got all tests passing