ames: don't no-op if getting %ack on nack bone

This commit is contained in:
yosoyubik 2023-05-22 17:53:20 +02:00
parent 89d881f33b
commit e440a443e5

View File

@ -3365,20 +3365,17 @@
::
=. snd.peer-state (~(del by snd.peer-state) bone)
peer-core
:: if odd bone, ack is on "subscription update" message; no-op
::
?: =(1 (end 0 bone)) peer-core
:: even bone; is this bone a nack-trace bone?
::
?: =(1 (end 0 (rsh 0 bone)))
:: nack-trace bone; assume .ok, clear nack from |message-sink
?: =(1 (end 0 bone))
:: ack is on "subscription update" message; no-op
::
?: =(0 (end 0 (rsh 0 bone))) peer-core
:: nack-trace bone; assume .ok, clear nack from |sink
::
abet:(call:(abed:mi (mix 0b10 bone)) %drop message-num)
?: &(closing ?=(%near -.task))
:: if the bone belongs to a closing flow and we got a
:: naxplanation, don't relay ack to the client vane
::
peer-core
:: if the bone belongs to a closing flow and we got a
:: naxplanation, don't relay ack to the client vane
::
?: &(closing ?=(%near -.task)) peer-core
:: not a nack-trace bone; relay ack to client vane
::
(pe-emit (got-duct bone) %give %done error)