pypck.timeout_retry

Base classes for handling reoccurent tasks.

class pypck.timeout_retry.TimeoutRetryHandler(task_registry: TaskRegistry, num_tries: int = 3, timeout: float = 3.5)

Manage timeout and retry logic for an LCN request.

activate() None

Schedule the next activation.

async async_activate() None

Clean start of next timeout_loop.

async cancel() None

Must be called when a response (requested or not) is received.

async done() None

Signal the completion of the TimeoutRetryHandler.

is_active() bool

Check whether the request logic is active.

async on_timeout(failed: bool = False) None

Is called on timeout of TimeoutRetryHandler.

set_timeout(timeout: int) None

Set the timeout in seconds.

set_timeout_callback(timeout_callback: Any, *timeout_args: Any, **timeout_kwargs: Any) None

Timeout_callback function is called, if timeout expires.

Function has to take one argument: Returns failed state (True if failed)

async timeout_loop() None

Timeout / retry loop.