pub struct IrohNode { /* private fields */ }Implementations§
Source§impl IrohNode
impl IrohNode
Sourcepub async fn new(
identity: IdentityManager,
data_dir: PathBuf,
relay_mode: RelayMode,
member_keys: Arc<RwLock<HashSet<PublicKey>>>,
discovery: DiscoveryConfig,
) -> Result<Self>
pub async fn new( identity: IdentityManager, data_dir: PathBuf, relay_mode: RelayMode, member_keys: Arc<RwLock<HashSet<PublicKey>>>, discovery: DiscoveryConfig, ) -> Result<Self>
Creates a node and starts accepting the blobs, docs, and gossip protocols.
§Errors
Returns an error if the directory structure cannot be created, if binding the endpoint fails, or if starting the background services fails.
Sourcepub async fn new_with_relay(
identity: IdentityManager,
data_dir: PathBuf,
relay_mode: RelayMode,
member_keys: Arc<RwLock<HashSet<PublicKey>>>,
discovery: DiscoveryConfig,
relay: Option<RelayManager>,
) -> Result<Self>
pub async fn new_with_relay( identity: IdentityManager, data_dir: PathBuf, relay_mode: RelayMode, member_keys: Arc<RwLock<HashSet<PublicKey>>>, discovery: DiscoveryConfig, relay: Option<RelayManager>, ) -> Result<Self>
Creates a node with the Syncthing (BEP) relay transport installed.
When relay is Some, the manager’s custom transport is registered on
the endpoint and the manager is kept alive for the node’s lifetime; the
node’s share tickets then carry the node’s relay address so peers can
reach it through a Syncthing relay when direct paths fail.
§Errors
Returns an error if the directory structure cannot be created, if binding the endpoint fails, or if starting the background services fails.
Sourcepub async fn new_with_address_lookup(
identity: IdentityManager,
data_dir: PathBuf,
relay_mode: RelayMode,
address_lookup: MemoryLookup,
discovery: DiscoveryConfig,
member_keys: Arc<RwLock<HashSet<PublicKey>>>,
) -> Result<Self>
pub async fn new_with_address_lookup( identity: IdentityManager, data_dir: PathBuf, relay_mode: RelayMode, address_lookup: MemoryLookup, discovery: DiscoveryConfig, member_keys: Arc<RwLock<HashSet<PublicKey>>>, ) -> Result<Self>
§Errors
Returns an error if the directory structure cannot be created, if binding the endpoint fails, or if starting the background services fails.
Sourcepub async fn new_with_address_lookup_and_relay(
identity: IdentityManager,
data_dir: PathBuf,
relay_mode: RelayMode,
address_lookup: MemoryLookup,
discovery: DiscoveryConfig,
member_keys: Arc<RwLock<HashSet<PublicKey>>>,
relay: Option<RelayManager>,
) -> Result<Self>
pub async fn new_with_address_lookup_and_relay( identity: IdentityManager, data_dir: PathBuf, relay_mode: RelayMode, address_lookup: MemoryLookup, discovery: DiscoveryConfig, member_keys: Arc<RwLock<HashSet<PublicKey>>>, relay: Option<RelayManager>, ) -> Result<Self>
§Errors
Returns an error if the directory structure cannot be created, if binding the endpoint fails, or if starting the background services fails.
Sourcepub fn relay_addr(&self) -> Option<CustomAddr>
pub fn relay_addr(&self) -> Option<CustomAddr>
The relay custom address this node advertises, when Syncthing (BEP) relaying is enabled.
pub const fn endpoint(&self) -> &Endpoint
pub const fn blobs(&self) -> &BlobsProtocol
pub const fn docs(&self) -> &Docs
pub fn gossip(&self) -> &Gossip
pub const fn blob_store(&self) -> &BlobStore
pub const fn docs_engine(&self) -> &DocsEngine
pub const fn topic_tracker(&self) -> &TopicTracker
pub fn is_running(&self) -> bool
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for IrohNode
impl !UnwindSafe for IrohNode
impl Freeze for IrohNode
impl Send for IrohNode
impl Sync for IrohNode
impl Unpin for IrohNode
impl UnsafeUnpin for IrohNode
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more