Martin Panter added the comment: Thanks for the fast response! There is a paragraph right at the end of <https://docs.python.org/3/library/socketserver.html#server-creation-notes> that mentions this technique: “. . . maintain an explicit table of partially finished requests . . .”. Perhaps that is the suggestion that you couldn’t find before. I once wrote an RTSP proxy that uses a related technique. It still handles each high-level RSTP request or RTP packet synchronously, but uses the “selectors” module to switch between the various connections and listening sockets after each high-level request had been handled. Code at <https://repo.or.cz/python-iview.git/blob/refs/heads/rtsp:/iview/utils.py#l31...>. Do you want to propose some specific additions or a patch to the documentation? ---------- _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue13354> _______________________________________