When an incoming client explicitly stops the chain-sync, block-fetch, and tx-submission protocols (by sending their "done" messages) before closing the connection, we should not return an error to the consumer. We should treat it much the same as if the consumer had called .Close()
. This should also probably apply to when the protocols have been started but no messages have been sent yet.