Skip to main content

bee/file/
mod.rs

1//! File / data / chunk / SOC / feed / collection uploads and
2//! downloads. Mirrors `pkg/file` in bee-go.
3//!
4//! Get a [`FileApi`] from [`crate::Client::file`].
5
6mod bzz;
7mod chunk;
8mod data;
9mod feeds;
10mod soc;
11mod stream;
12
13pub use bzz::{
14    CollectionEntry, collection_size, hash_collection_entries, hash_directory,
15    read_directory_entries,
16};
17pub use data::ReferenceInformation;
18pub use feeds::{
19    FeedReader, FeedUpdate, FeedWriter, feed_update_chunk_reference, make_feed_identifier,
20};
21pub use soc::{SocReader, SocWriter, soc_address};
22pub use stream::{OnStreamProgressFn, StreamProgress};
23
24use std::sync::Arc;
25
26use crate::client::Inner;
27
28/// Handle exposing the file/data/chunk endpoints. Cheap to clone
29/// (holds an `Arc<Inner>`).
30#[derive(Clone, Debug)]
31pub struct FileApi {
32    pub(crate) inner: Arc<Inner>,
33}
34
35impl FileApi {
36    pub(crate) fn new(inner: Arc<Inner>) -> Self {
37        Self { inner }
38    }
39}