WebSocket connect/send/backpressure/reconnect/revocation/close lifecycle.
Summary
Callbacks
@callback close( ExecutionPlane.ExecutionRef.t(), keyword() ) :: :ok | {:error, term()}
@callback connect( ExecutionPlane.Family.WebSocketRequest.t(), keyword() ) :: {:ok, ExecutionPlane.ActiveExecution.t()} | {:error, term()}
@callback demand(ExecutionPlane.ExecutionRef.t(), pos_integer(), keyword()) :: :ok | {:error, term()}
@callback reconnect( ExecutionPlane.ExecutionRef.t(), ExecutionPlane.Family.WebSocketRequest.t(), keyword() ) :: {:ok, ExecutionPlane.ActiveExecution.t()} | {:error, term()}
@callback send(ExecutionPlane.ExecutionRef.t(), iodata() | map(), keyword()) :: :ok | {:error, term()}
@callback status( ExecutionPlane.ExecutionRef.t(), keyword() ) :: {:ok, ExecutionPlane.Runtime.Status.t()} | {:error, term()}
@callback subscribe(ExecutionPlane.ExecutionRef.t(), pid(), keyword()) :: :ok | {:error, term()}