ranch:wait_for_connections(3)

NAME

ranch:wait_for_connections - Wait for a specific number of connections

DESCRIPTION
    wait_for_connections(Ref      :: ranch:ref(),
                         Operator,
                         NumConns :: non_neg_integer())
        -> ok

    Operator :: '>' | '>=' | '==' | '=<' | '<'

Wait for a specific number of connections.

This function waits until the number of connections on the given listener becomes higher than, equal to or lower than the given number. It never returns otherwise.

This function can be used to gracefully shutdown a listener by first suspending the listener and then waiting for connections to terminate before finally stopping the listener.

ARGUMENTS

Ref
    The listener name.

Operator
    The operator to use for the comparison.

NumConns
    The number of connections to reach.

RETURN VALUE

The atom ok is always returned. It can be safely ignored.

CHANGELOG
    • 1.6: Function introduced.

EXAMPLES

Wait for at least 100 connections
    ranch:wait_for_connections(example, '>=', 100).

Gracefully shutdown a listener
    Ref = example,

    ok = ranch:suspend_listener(Ref),
    ranch:wait_for_connections(Ref, '==', 0),
    ok = ranch:stop_listener(Ref).

SEE ALSO

ranch:stop_listener(3), ranch:suspend_listener(3), ranch:resume_listener(3), ranch(3)