Struct DatacakeNodeBuilder

Source
pub struct DatacakeNodeBuilder<S = DCAwareSelector> { /* private fields */ }
Expand description

Build a Datacake node using provided settings.

Implementations§

Source§

impl<S> DatacakeNodeBuilder<S>
where S: NodeSelector + Send + 'static,

Source

pub fn new( node_id: NodeId, connection_cfg: ConnectionConfig, ) -> DatacakeNodeBuilder<DCAwareSelector>

Create a new node builder.

Source

pub fn with_node_selector<S2>(self, selector: S2) -> DatacakeNodeBuilder<S2>

Set a node selector.

This is used by systems to select a specific set of nodes from the live membership set with a given consistency level.

Source

pub fn with_cluster_id(self, cluster_id: impl Display) -> Self

Set the cluster id for the given node.

Source

pub fn with_data_center(self, dc: impl Display) -> Self

Set the data center the node belongs to.

Source

pub async fn connect(self) -> Result<DatacakeNode, NodeError>

Starts the Datacake cluster, connecting to the targeted seed nodes.

When connecting to the cluster, the node_id must be unique otherwise the cluster will incorrectly propagate state and not become consistent.

Typically you will only have one cluster and therefore only have one cluster_id which should be the same for each node in the cluster. Currently the cluster_id is not handled by anything other than chitchat

No seed nodes need to be live at the time of connecting for the cluster to start correctly, but they are required in order for nodes to discover one-another and share their basic state.

Auto Trait Implementations§

§

impl<S> Freeze for DatacakeNodeBuilder<S>
where S: Freeze,

§

impl<S> RefUnwindSafe for DatacakeNodeBuilder<S>
where S: RefUnwindSafe,

§

impl<S> Send for DatacakeNodeBuilder<S>
where S: Send,

§

impl<S> Sync for DatacakeNodeBuilder<S>
where S: Sync,

§

impl<S> Unpin for DatacakeNodeBuilder<S>
where S: Unpin,

§

impl<S> UnwindSafe for DatacakeNodeBuilder<S>
where S: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> ArchivePointee for T

Source§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
Source§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<F, W, T, D> Deserialize<With<T, W>, D> for F
where W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,

Source§

fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>

Deserializes using the given deserializer
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> LayoutRaw for T

Source§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Gets the layout of the type.
Source§

impl<T> Pointee for T

Source§

type Metadata = ()

The type for metadata in pointers and references to Self.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more