This moves the `thirdparty/pq` package to https://github.com/ipfs/go-ipfs-pq .
History has been retained. The new package has been gx'ed and published.
Imports have been updated accordingly.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
Blockservice has an explicit dependency on bitswap so it can
call NewSession. It should rely on the exchange interfaces though, not
on specific implementations.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
This extracts the blocks/blockstore package and renames the
blocks/blockstore/util package to /blocks/blockstoreutil
(because util depends on Pin and I don't plan to extract
Pin and its depedencies).
The history of blocks/blockstore has been preserved. It has
been gx'ed and imported. Imports have been rewritten accordingly
and re-ordered.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
This extracts the routing package to its own repository
(https://github.com/ipfs/go-ipfs-routing). History has
been preserved. The new module has been gx'ed and published.
Imports have been rewritten and re-ordered accordingly.
An internal dependency to go-ipfs/repo has been removed
by substituting it with the go-datastore.Batching interface.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
They have been moved to their own repositories:
* github.com/ipfs/go-ipfs-delay
* github.com/ipfs/go-ipfs-flags
History has been preserved. They have been published
with gx'ed. Imports have been updated and re-ordered
accordingly.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
Otherwise, we'll deadlock and leak a goroutine. This fix is kind of crappy but
modifying the pubsub library would have been worse (and, really, it *is*
reasonable to say "don't use the pubsub instance after shutting it down").
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
Also:
* Update the blockstore/blockservice methods to match.
* Construct a new temporary offline dag instead of having a
GetOfflineLinkService method.
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
Not being able to dial a peer we used to be connected to is interesting but
definitely not an error.
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
This deadlock would happen when calling SessionsForBlock (holding
bitswap.sessLk) while the session's main loop was trying to deregister the
session (taking bitswap.sessLk).
I've also defensively added selects on contexts for two other channel writes
just in case.
fixes#4394
...well, it fixes *a* deadlock showing up in that issue, there may be more.
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
Note: This commit is technically broken. However, I need to make a bunch of
cmds changes to make this work and I'd rather not bundle both changes into a
single commit.
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>