BrokenResourceError needs handling
When a peer disconnects unexpectedly, it results in anyio.BrokenResourceError
being raised.
Example Traceback
Traceback (most recent call last):
File "/usr/local/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/usr/local/lib/python3.10/site-packages/dkim_filter.py", line 45, in <module>
main()
File "/usr/local/lib/python3.10/site-packages/dkim_filter.py", line 41, in main
asyncio.run(serve_filter())
File "/usr/local/lib/python3.10/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
return future.result()
File "/usr/local/lib/python3.10/site-packages/dkim_filter.py", line 36, in serve_filter
await listener.serve(dkim_filter)
File "/usr/local/lib/python3.10/site-packages/anyio/streams/stapled.py", line 124, in serve
async with create_task_group() as tg:
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 662, in __
aexit__
raise exceptions[0]
File "/usr/local/lib/python3.10/site-packages/anyio/abc/_sockets.py", line 160, in serve
async with context_manager:
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 662, in __
aexit__
raise exceptions[0]
File "/usr/local/lib/python3.10/site-packages/kilter/service/runner.py", line 99, in __call
__
buff[:] = await client.receive(buff.available)
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 1274, in r
eceive
raise self._protocol.exception
anyio.BrokenResourceError
This exception needs handling in runner.py:100