diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2015-01-29 12:33:15 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2015-01-29 12:33:15 (GMT) |
commit | 54a231d5397bda24257f253eb1aaabf1b741a0b5 (patch) | |
tree | 028602e0d21841373ec0de59a5429790d12ef3a1 | |
parent | 47bbea712415e79ee224d21e518470ec70477d41 (diff) | |
download | cpython-54a231d5397bda24257f253eb1aaabf1b741a0b5.zip cpython-54a231d5397bda24257f253eb1aaabf1b741a0b5.tar.gz cpython-54a231d5397bda24257f253eb1aaabf1b741a0b5.tar.bz2 |
asyncio doc: document Protocol state machine
-rw-r--r-- | Doc/library/asyncio-protocol.rst | 8 | ||||
-rw-r--r-- | Lib/asyncio/protocols.py | 5 |
2 files changed, 13 insertions, 0 deletions
diff --git a/Doc/library/asyncio-protocol.rst b/Doc/library/asyncio-protocol.rst index 60776d1..b6fcc48 100644 --- a/Doc/library/asyncio-protocol.rst +++ b/Doc/library/asyncio-protocol.rst @@ -374,6 +374,14 @@ The following callbacks are called on :class:`Protocol` instances: a connection. However, :meth:`eof_received` is called at most once and, if called, :meth:`data_received` won't be called after it. +State machine: + + start -> :meth:`~BaseProtocol.connection_made` + [-> :meth:`~Protocol.data_received` \*] + [-> :meth:`~Protocol.eof_received` ?] + -> :meth:`~BaseProtocol.connection_lost` -> end + + Datagram protocols ------------------ diff --git a/Lib/asyncio/protocols.py b/Lib/asyncio/protocols.py index 52fc25c..80fcac9 100644 --- a/Lib/asyncio/protocols.py +++ b/Lib/asyncio/protocols.py @@ -78,6 +78,11 @@ class Protocol(BaseProtocol): State machine of calls: start -> CM [-> DR*] [-> ER?] -> CL -> end + + * CM: connection_made() + * DR: data_received() + * ER: eof_received() + * CL: connection_lost() """ def data_received(self, data): |