-type state() ::
#state{address :: shackle:inet_address(),
backlog :: atomics:atomics_ref(),
client :: shackle:client(),
id :: id(),
init_options :: init_options(),
max_requests :: pos_integer() | infinity,
name :: name(),
parent :: pid(),
pool_name :: shackle_pool:name(),
port :: shackle:inet_port(),
protocol :: shackle:protocol(),
queue :: #{shackle:external_request_id() => {shackle:cast(), integer()}},
reconnect_state :: undefined | reconnect_state(),
requests_left :: non_neg_integer() | infinity,
socket :: undefined | shackle:socket(),
socket_options :: shackle:socket_options(),
sweep_deadline :: integer(),
sweep_ref :: undefined | reference(),
telemetry :: boolean(),
timer_ref :: undefined | reference()}.