Function gossip_kv::server::server

source ·
pub fn server<ClientInput, ClientOutput, ClientOutputError, GossipInput, GossipOutput, GossipOutputError, GossipTrigger, SeedNodeStream, Addr>(
    client_inputs: ClientInput,
    client_outputs: ClientOutput,
    gossip_inputs: GossipInput,
    gossip_outputs: GossipOutput,
    gossip_trigger: GossipTrigger,
    member_info: MemberData<Addr>,
    seed_nodes: Vec<SeedNode<Addr>>,
    seed_node_stream: SeedNodeStream,
) -> Dfir<'static>
where ClientInput: Stream<Item = (ClientRequest, Addr)> + Unpin + 'static, ClientOutput: Sink<(ClientResponse, Addr), Error = ClientOutputError> + Unpin + 'static, GossipInput: Stream<Item = (GossipMessage, Addr)> + Unpin + 'static, GossipOutput: Sink<(GossipMessage, Addr), Error = GossipOutputError> + Unpin + 'static, GossipTrigger: Stream<Item = ()> + Unpin + 'static, SeedNodeStream: Stream<Item = Vec<SeedNode<Addr>>> + Unpin + 'static, Addr: Address + DeserializeOwned + 'static, ClientOutputError: Debug + 'static, GossipOutputError: Debug + 'static,
Expand description

Creates a L0 key-value store server using Hydroflow.

§Arguments

client_inputs: The input stream of client requests for the client protocol. – client_outputs: The output sink of client responses for the client protocol. – member_info: The membership information of the server. – seed_nodes: A list of seed nodes that can be used to bootstrap the gossip cluster.