What's Changed
Added
bitswap/client
: Improved timeout configuration for block requests- Exposed
DontHaveTimeoutConfig
to hold configuration values fordontHaveTimeoutMgr
which controls how long to wait for requested block before emitting a synthetic DontHave response - Added
DefaultDontHaveTimeoutConfig()
to return aDontHaveTimeoutConfig
populated with default values - Added optional
WithDontHaveTimeoutConfig
to allow passing a customDontHaveTimeoutConfig
- Setting
SetSendDontHaves(false)
works the same as before. Behind the scenes, it will disabledontHaveTimeoutMgr
by passing anil
onDontHaveTimeout
tonewDontHaveTimeoutMgr
.
- Exposed
Changed
- 🛠
blockstore
andblockservice
'sWriteThrough()
option now takes an "enabled" parameter:WriteThrough(enabled bool)
. - Replaced unmaintained mock time implementation uses in tests: from => to
bitswap/client
: if a libp2p connection has a context, usecontext.AfterFunc
to cleanup the connection.- upgrade to
go-libp2p-kad-dht
v0.28.1 - upgrade to
go-libp2p
v0.38.1 - blockstore/blockservice: change option to
WriteThrough(enabled bool)
#749 mfs
: improve mfs republisher #754
Fixed
mfs
: directory cache is now cleared on Flush(), liberating the memory used by the otherwise ever-growing cache. References to directories and sub-directories should be renewed after flushing.bitswap/client
: Fix leak due to cid queue never getting cleaned up #756bitswap
: Drop stream references on Close/Reset 760
Full Changelog: v0.25.0...v0.26.0