FerricStore.Client (ferricstore_sdk v0.4.2)

Copy Markdown View Source

Public client facade backed by the topology-aware native coordinator.

This module does not own a socket or implement a second protocol session. FerricStore.start_link/1 and FerricStore.SDK.start_link/1 return the same client type and share one internal connection layer for all transport IO.

Summary

Functions

async_native(client, opcode, payload, opts \\ [])

async_pipeline(client, commands, opts \\ [])

await(request, timeout \\ 5000)

cancel_async(request, timeout \\ 5000)

child_spec(opts)

@spec child_spec(keyword() | binary()) :: Supervisor.child_spec()

close(client, timeout \\ 5000)

@spec close(pid(), timeout()) :: :ok | {:error, term()}

command(client, command, args \\ [], opts \\ [])

connect!(opts \\ [])

@spec connect!(keyword() | binary()) :: pid()

native(client, opcode, payload, opts \\ [])

pipeline(client, commands, opts \\ [])

start_link(opts \\ [])

@spec start_link(keyword() | binary()) :: GenServer.on_start()

yield(request, timeout \\ 0)