cets_ack (cets v0.3.1)

View Source

Helper module to keep track of unacked writes.

Contains a list of processes, that are waiting for writes to finish. Collects acks from nodes in the cluster. When one of the remote nodes goes down, the server stops waiting for acks from it.

Summary

Types

Pid of the helper process to track unacked writes.

gen_server's caller.

Pid of CETS gen_server.

Functions

Called by a remote server after an operation is applied.

Adds a new task to wait for replies.

Calls ack(AckPid, From, RemotePid) for all locally tracked From entries.

Sets a list of servers to be used for newly added tasks.

Starts a helper process to track unacked writes.

Types

ack_pid/0

-type ack_pid() :: pid().

Pid of the helper process to track unacked writes.

from/0

-type from() :: gen_server:from().

gen_server's caller.

server_pid/0

-type server_pid() :: cets:server_pid().

Pid of CETS gen_server.

Functions

ack(AckPid, From, RemotePid)

-spec ack(ack_pid(), from(), server_pid()) -> ok.

Called by a remote server after an operation is applied.

add(AckPid, From)

-spec add(ack_pid(), from()) -> ok.

Adds a new task to wait for replies.

send_remote_down(AckPid, RemotePid)

-spec send_remote_down(ack_pid(), server_pid()) -> ok.

Calls ack(AckPid, From, RemotePid) for all locally tracked From entries.

set_servers(AckPid, Servers)

-spec set_servers(ack_pid(), [server_pid()]) -> ok.

Sets a list of servers to be used for newly added tasks.

start_link(Tab)

-spec start_link(cets:table_name()) -> gen_server:start_ret().

Starts a helper process to track unacked writes.