Keep the pending reliable receive and Redis validation alive until a frame arrives or shutdown actually drains the stream. Drop its mutable borrow before the existing Goodbye/finish path.
Cover consumed-frame pool contention, drain before and after community latch, EOF, sequential echoes, peer Goodbye, and stale lease rejection.
Signed-off-by: Logan Johnson <loganj@squareup.com>
(cherry picked from commit e2f17ab7b81ca84727db1ab0de846e9a647eecdf)
Signed-off-by: Logan Johnson <loganj@squareup.com>