You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the trio endpoint all broadcast calls add to a queue, _outbound_send_channel, which is then processed by _process_outbound_messages. When _outbound_send_channel blocks it blocks all message sends. This could happen if message handler takes a long time to run, or if a remote process's queue fills up. The queue also makes our back-pressure situation more complicated. If a coro is sending messages which are expensive to handle it will slow down all message sends and the offending coro will be given no feedback. I think both situations could be solved by having the trio endpoint work in the same way as the asyncio endpoint works: immediately attempting to send messages when broadcast is called.
The text was updated successfully, but these errors were encountered:
In the trio endpoint all
broadcast
calls add to a queue,_outbound_send_channel
, which is then processed by_process_outbound_messages
. When_outbound_send_channel
blocks it blocks all message sends. This could happen if message handler takes a long time to run, or if a remote process's queue fills up. The queue also makes our back-pressure situation more complicated. If a coro is sending messages which are expensive to handle it will slow down all message sends and the offending coro will be given no feedback. I think both situations could be solved by having the trio endpoint work in the same way as the asyncio endpoint works: immediately attempting to send messages whenbroadcast
is called.The text was updated successfully, but these errors were encountered: