sprotector_server (sbroker v1.1.1)
ask
and ask_r
queue min, max and drop probabilities for overload protection and short circuiting for a process with sprotector
.
Link to this section Summary
Functions
Change the queue minimum to Min
and maximum to Max
, and update the queue length to Len
and the drop probabilities to AskDrop
and AskRDrop
.
Register the local process Pid
with the server with minimum message queue length Min
and maximum message queue length Max
. Lookup requests with sprotector
will drop requests when above Max
or with probabilities set by update/4
if above Min
.
Unregister the process Pid
with the server.
Update the queue length (Len
), and ask
and ask_r
drop probabilities (AskDrop
and AskRDrop
) for Pid
.
Link to this section Functions
change(Pid, Min, Max, Len, AskDrop, AskRDrop)
Specs
change(Pid, Min, Max, Len, AskDrop, AskRDrop) -> Result when Pid :: pid(), Min :: non_neg_integer(), Max :: non_neg_integer() | infinity, Len :: non_neg_integer(), AskDrop :: float(), AskRDrop :: float(), Result :: boolean().
Change the queue minimum to Min
and maximum to Max
, and update the queue length to Len
and the drop probabilities to AskDrop
and AskRDrop
.
true
if the values were changed/updated, or false
if Pid
is not registered with the server.
register(Pid, Min, Max)
Specs
register(Pid, Min, Max) -> Result when Pid :: pid(), Min :: non_neg_integer(), Max :: non_neg_integer() | infinity, Result :: boolean().
Register the local process Pid
with the server with minimum message queue length Min
and maximum message queue length Max
. Lookup requests with sprotector
will drop requests when above Max
or with probabilities set by update/4
if above Min
.
Returns true
if the process is successfully registered, or false
if already registered.
update/4
. Initial length and drop probabilites are set to 0
and 0.0
. The server will synchronously link to the Pid
.
unregister(Pid)
Specs
unregister(Pid) -> true when Pid :: pid().
Unregister the process Pid
with the server.
Pid
.
update(Pid, Len, AskDrop, AskRDrop)
Specs
update(Pid, Len, AskDrop, AskRDrop) -> Result when Pid :: pid(), Len :: non_neg_integer(), AskDrop :: float(), AskRDrop :: float(), Result :: boolean().
Update the queue length (Len
), and ask
and ask_r
drop probabilities (AskDrop
and AskRDrop
) for Pid
.
Len
must be an integer greater than or equal to 0
.
AskDrop
and AskRDrop
should be floats, values below 0.0
are rounded to 0.0
and above 1.0
to 1.0
.
true
if the values were updated, or false
if Pid
is not registered with the server.