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
If there are two inferiors and one of them gets blocked transiently to complete the transmission while the other one raises an exception, the former's future is detached to complete in the background and then the only remaining result is the error, which is then propagated to the caller.
This is incorrect because errors should not unblock the transmission.
The correct behavior is to wait until either the first inferior is done transmitting or all of them have failed.
The behavior described in the method documentation is actually correct but the implementation is not compliant.
pycyphal/pycyphal/transport/redundant/_session/_output.py
Lines 258 to 268 in 8d190ce
If there are two inferiors and one of them gets blocked transiently to complete the transmission while the other one raises an exception, the former's future is detached to complete in the background and then the only remaining result is the error, which is then propagated to the caller.
This is incorrect because errors should not unblock the transmission.
The correct behavior is to wait until either the first inferior is done transmitting or all of them have failed.
The behavior described in the method documentation is actually correct but the implementation is not compliant.
An example with a larger context is available here: https://ci.appveyor.com/project/Zubax/yakut/build/job/6k9185femyoi8qq7#L2708
The text was updated successfully, but these errors were encountered: