You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In our [previous blog post](https://iroh.computer/blog/iroh-blobs-0-90-upgrade-guide) we talked a lot about the generic API design of the new `iroh-blobs`. Now, let's take a look at the new features!
33
+
In our [previous blog post](https://iroh.computer/blog/iroh-blobs-0-90-changes) we talked a lot about the generic API design of the new `iroh-blobs`. Now, let's take a look at the new features!
34
34
35
-
Previously, `iroh-blobs` supported just a single request type - `Get`. Get allows to stream a blob, ranges of a blob, or an entire sequence of blobs or ranges thereof. It is pretty powerful, but especially the part about streaming hash sequences can also be confusing.
35
+
Previously, `iroh-blobs` supported just a single request type - `Get`. Get allows you to stream a blob, ranges of a blob, or an entire sequence of blobs or ranges thereof. It is pretty powerful, but since there are so many options it can be confusing, especially the part about streaming hash sequences
36
36
37
37
## Protocol Additions and Changes
38
38
@@ -79,9 +79,9 @@ The `Observe` request allows you to get information about what data a remote nod
79
79
80
80
### Observing a blob
81
81
82
-
There is a new API for observing the [`Bitfield`](https://docs.rs/iroh-blobs/0.90.0/iroh_blobs/api/blobs/struct.Bitfield.html) of a blob. An`Observe` request returns a stream of bitfields, where each bitfield represents the current chunk availability of a blob. The stream is wrapped into an [`ObserveProgress`](https://docs.rs/iroh-blobs/0.90.0/iroh_blobs/api/blobs/struct.ObserveProgress.html) struct and follows the same patterns as the other progress structs (as described in our previous [blobs blog post](https://iroh.computer/blog/iroh-blobs-0-90-upgrade-guide)), so you can just use `observe().await` to get the current bitfield.
82
+
There is a new API for observing the [`Bitfield`](https://docs.rs/iroh-blobs/0.90.0/iroh_blobs/api/blobs/struct.Bitfield.html) of a blob. An`Observe` request returns a stream of bitfields, where each bitfield represents the current chunk availability of a blob. The stream is wrapped into an [`ObserveProgress`](https://docs.rs/iroh-blobs/0.90.0/iroh_blobs/api/blobs/struct.ObserveProgress.html) struct and follows the same patterns as the other progress structs (as described in our previous [blobs blog post](https://iroh.computer/blog/iroh-blobs-0-90-changes)), so you can just use `observe().await` to get the current bitfield.
83
83
84
-
See the [bitfields](https://www.notion.so/iroh-blobs-0-90-0-new-request-types-and-features-2245df1306fb803f969ce32aa993adc2?pvs=21) section for more info about bitfields.
84
+
See the [bitfields](https://www.iroh.computer/blog/iroh-blobs-0-90-new-features#bitfields) section for more info about bitfields.
85
85
86
86
### Restructured Remote API
87
87
@@ -99,7 +99,7 @@ There is a [`local`](https://docs.rs/iroh-blobs/0.90.0/iroh_blobs/api/remote/str
99
99
100
100
If you want to do complex requests that download data from multiple nodes at once, there is the [`Downloader`](https://docs.rs/iroh-blobs/0.90.0/iroh_blobs/api/downloader/struct.Downloader.html). Unlike the aforementioned structs, this is not just a namespace but a stateful object that contains an `iroh` endpoint and a connection pool.
101
101
102
-
The downloader allows executing requests where you just specify *what* you want to download (either just a hash or a complex request) via the [`SupportedRequest`](https://docs.rs/iroh-blobs/0.90.0/iroh_blobs/api/downloader/trait.SupportedRequest.html) trait, and from *where* you want to download using the [`ContentDiscovery`](https://docs.rs/iroh-blobs/0.90.0/iroh_blobs/api/downloader/trait.ContentDiscovery.html) trait, that allows to specify a content discovery strategy.
102
+
The downloader allows executing requests where you specify *what* you want to download (either just a hash or a complex request) via the [`SupportedRequest`](https://docs.rs/iroh-blobs/0.90.0/iroh_blobs/api/downloader/trait.SupportedRequest.html) trait, and from *where* you want to download using the [`ContentDiscovery`](https://docs.rs/iroh-blobs/0.90.0/iroh_blobs/api/downloader/trait.ContentDiscovery.html) trait, that allows to specify a content discovery strategy.
103
103
104
104
The main user-facing method of the downloader is [`download`](https://docs.rs/iroh-blobs/0.90.0/iroh_blobs/api/downloader/struct.Downloader.html#method.download), which also has an "overload" [`download_with_opts`](https://docs.rs/iroh-blobs/0.90.0/iroh_blobs/api/downloader/struct.Downloader.html#method.download_with_opts) that allows specifying additional parameters. Currently, the only options is a [split strategy](https://docs.rs/iroh-blobs/0.90.0/iroh_blobs/api/downloader/enum.SplitStrategy.html).
0 commit comments