Crate nodecraft

Source
Expand description

NodeCraft

Crafting seamless node operations for distributed systems, which provides foundational traits for node identification and address resolution.

github LoC Build codecov

docs.rs crates.io crates.io license

§Installation

[dependencies]
nodecraft = "0.7"

§Examples

See memberlist, an async runtime agnostic GOSSIP protocol implementation.

§License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Re-exports§

pub use futures;

Modules§

resolverresolver
AddressResolver trait for async.

Structs§

ArchivedNode
An archived Node
Domain
A type which encapsulates a string that is a syntactically domain name.
DomainRef
A reference to a Domain that is guaranteed to be valid.
HostAddr
A host address which supports both domain:port and socket address.
HostAddrRef
A host address which supports both domain:port and socket address.
Node
Node is consist of id and address, which can be used as a identifier in a distributed system.
NodeId
A unique string identifying a server for all time. The maximum length of an id is 512 bytes.
NodeIdRef
A unique string identifying a server for all time. The maximum length of an id is 512 bytes.
NodeResolver
The resolver for an archived Node
ParseDomainError
The provided input could not be parsed because it is not a syntactically-valid DNS Domain.

Enums§

ParseHostAddrError
An error which can be returned when parsing a HostAddr.
ParseNodeIdError
Errors that can occur when transforming an NodeId.

Traits§

Address
Address abstraction for distributed systems
CheapClone
Things that are fast to clone in the context of an application.
Id
Id abstraction for distributed systems