34f4c284b0
This should speed up the protocol, since we don't have to wait for acks (HTTP responses) unless we really want to. It also makes it easier to have multiple messages in flight at once. The protocol is still compatible with the old HTTP version (which is still used by the blocking flavor), but requires an updated Rendezvous server that speaks websockets. set_code() no longer touches the network: it just stores the code and channelid for later. We hold off doing 'claim' and 'watch' until we need messages, triggered by get_verifier() or get_data() or send_data(). We check for error before sleeping, not just after waking. This makes it possible to detect a WrongPasswordError in get_data() even if the other side hasn't done a corresponding send_data(), as long as the other side finished PAKE (and thus sent a CONFIRM message). The unit test was doing just this, and was hanging. |
||
---|---|---|
.. | ||
__init__.py | ||
common.py | ||
test_blocking.py | ||
test_hkdf.py | ||
test_interop.py | ||
test_load.py | ||
test_progress.py | ||
test_scripts.py | ||
test_server.py | ||
test_transit_twisted.py | ||
test_twisted.py |