* Update go-libp2p to 0.12.0
go-libp2p 0.12.0 made some significant changes to the stream interfaces around
stream closing:
* Close now closes in both directions and frees the stream. However, unlike
FullClose did, it doesn't _wait_ for the remote peer to respond with an EOF.
* To close for writing, call CloseWrite (like one would on a TCP connection, etc.).
This patch:
* Replaces calls to FullClose with Close where appropriate.
* Replaces calls to Close with CloseWrite where appropriate.
* Removes redundant Close calls.
* Calls Reset to where appropriate to indicate that the request/response was
aborted. Unlike Close, this will not flush and will not cause the remote peer
to read an EOF. Instead, the remote peer will read an ErrReset error.
* Ensures we always either close or reset streams. Send wasn't closing the
stream on some error paths.
* Now that stream closing is async, we explicitly wait for a response when
"hanging up" on a peer (so we don't hang up before they receive our
response/goodbye message).
* update bazel
* Gazelle
* revert unintentional bazel workspace change
* appease an overzealous linter
* update to latest
* Refactor encoder
* gazelle
* Gazelle
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>