This PR closes #32 and fixes several issues using the library with Kubo.
[Breaking]
Inherited breaking changes from IpfsShipyard.Ipfs.Core 0.2.0 and 0.3.0
IDataBlock.DataStream was removed. This pattern encouraged async calls behind synchronous property getters, which is a bad practice and can cause deadlocks. Call the async methods directly on the API instead.
The obsolete IFileSystemApi.ListFileAsync was removed due to prior deprecation and removal in Kubo 0.26.0. Use IFileSystemApi.ListAsync and MfsApi.StatAsync instead.
A full analysis of the Bitswap API was made to bring it in line with Kubo's RPC API.
GetAsync and UnwantAsync were removed from IBitswapApi. These were not part of Kubo's API, but were intended for custom implementations. To migrate, derive IBitswapApi and add your custom functionality in your library.
The return type for IBlockApi.GetAsync was changed from IDataBlock to byte[], since IDataBlock was removed in 0.2.0. Kubo's RPC API (including the JS implementation) simply returns the buffer, and so are we now.
ILinkedNode was removed as it was not used anywhere in the broader net-ipfs codebase and seems to have been placed there years ago for future plans that were never carried out.
[New]
Added missing IFileSystemApi.ListAsync. Doesn't fully replace the removed IFileSystemApi.ListFileAsync, but is a step in the right direction. For getting file sizes, use MfsApi.StatAsync.
This PR closes #32 and fixes several issues using the library with Kubo. [Breaking]
IDataBlock.DataStream
was removed. This pattern encouraged async calls behind synchronous property getters, which is a bad practice and can cause deadlocks. Call the async methods directly on the API instead.IFileSystemApi.ListFileAsync
was removed due to prior deprecation and removal in Kubo 0.26.0. UseIFileSystemApi.ListAsync
andMfsApi.StatAsync
instead.[New]
IFileSystemApi.ListAsync
. Doesn't fully replace the removedIFileSystemApi.ListFileAsync
, but is a step in the right direction. For getting file sizes, use MfsApi.StatAsync.Prerequisite PR https://github.com/ipfs-shipyard/net-ipfs-core/pull/29