OctopusDeploy / Halibut

| Public | A secure communication stack for .NET using JSON-RPC over SSL.
Other
12 stars 44 forks source link

DataStream.FromString does not pass the cancellation token, meaning we wont respect cancelled RPC calls. #585

Open LukeButters opened 11 months ago

LukeButters commented 11 months ago

Since the CancellationToken is not passed, if an RPC call is cancelled the cancellation of the cancellation token wont result in the write being cancelled resulting in Halibut taking longer to cancel the call.

This can be worked around by using one of the other DataStream constructor methods.

Note that stream timeouts still apply, so Halibut can not be stuck forever in the write.

The issue is in the code below. image