haematite 0.4.0

Content-addressed, branchable, actor-native storage engine
Documentation
pub mod consistency;
pub mod endpoint;
pub mod handoff_merge;
pub mod membership;
pub mod merge;
pub mod protocol;
pub mod pull;
pub mod push;
pub mod scheduler;
pub mod topology;
pub mod transport_glue;

pub use crate::sync_codec::ballot;
pub use crate::sync_codec::ballot::{Ballot, Stamp};
pub use consistency::{
    Ack, CasVote, ConsistencyError, ConsistencyMode, EventualConsistency, QuorumOutcome,
    RejectKind, StrongConsistency, execute_with_consistency, quorum_size, wait_for_cas_quorum,
    wait_for_cas_quorum_from_receiver, wait_for_quorum, wait_for_quorum_from_receiver,
};
pub use endpoint::{
    DistributionEndpoint, ElectionError, ElectionOutcome, ElectionVote, InboundSync, ProposeWrite,
};
pub use handoff_merge::{HandoffMergeError, merge_committed_union};
pub use membership::{WriteMembership, resolve_membership};
pub use merge::{SyncMergeError, SyncMergeResult, SyncMergeRoots, merge_synced_roots};
pub use protocol::{
    AckOutcome, BatchWriteAck, BatchWriteEntry, BatchWriteProposal, MissingNodes, Nack,
    NodeTransfer, Prepare, Promise, PullRequest, PushResponse, RejectReason, RootExchange,
    RootExchangeRequest, RootExchangeResponse, ShardSyncRequest, SyncDecision, SyncError,
    SyncMessage, SyncPlan, SyncStats, TargetNodeReader, TargetNodeRequest, TargetNodeResponse,
    TargetNodeSummary, WriteAck, WriteId, WriteProposal, decode_beamr_sync_frame,
    decode_sync_message, encode_beamr_sync_frame, encode_sync_message, find_missing_nodes,
    plan_sync, register_beamr_sync_handler, send_batch_write_ack_via_beamr,
    send_batch_write_proposal_via_beamr, send_nack_via_beamr, send_prepare_via_beamr,
    send_promise_via_beamr, send_pull_request_via_beamr, send_push_response_via_beamr,
    send_root_exchange_request_via_beamr, send_root_exchange_response_via_beamr,
    send_shard_sync_request_via_beamr, send_sync_message_via_beamr,
    send_target_node_request_via_beamr, send_target_node_response_via_beamr,
    send_write_ack_via_beamr, send_write_proposal_via_beamr,
};
pub use pull::{
    PullResult, apply_push_response, apply_push_response_prefix, create_pull_request,
    pull_from_source,
};
pub use push::{build_push_response, build_push_response_for_shard, exchange_roots_for_pull};
pub use scheduler::{
    NoopSyncPullTrigger, SyncPullTrigger, SyncSchedulerConfig, SyncSchedulerError,
    SyncSchedulerHandle, SyncSchedulerStats,
};
pub use topology::{ConvergenceProperties, SyncNodeId, SyncPair, SyncTopology, TopologyError};