remove 'adapter' concept
instead, describe the component as the bitswap network
it's still an adapter, but it's just not necessary to describe it as
such
Rather than pushing errors back down to lower layers, propagate the
errors upward.
This commit adds a `ReceiveError` method to BitSwap's network receiver.
Still TODO: rm the error return value from:
net.service.handler.HandleMessage
This is inspired by delegation patterns in found in the wild.
changing the bitswap interace breaks tests and makes things a bit
difficult going forward. I think I have a temporary solution to replace
the async method.
this commit partially reverts changes from:
ec50703395098f75946f0bad01816cc54ab18a58
ec50703395
Move go-ipfs/bitswap package to go-ipfs/exchange/bitswap
* Delineates the difference between the generic exchange interface and
implementations (eg. BitSwap protocol)
Thus, the bitswap protocol can be refined without having to overthink
how future exchanges will work. Aspects common to BitSwap and other
exchanges can be extracted out to the exchange package in piecemeal.
Future exchange implementations can be placed in sibling packages next
to exchange/bitswap. (eg. exchange/multilateral)