nvflare.client.cell.attach_session module
Attach-only trainer session protocol used by CellClientAPI.
-
class AttachTrainerSession(api: CellClientAPI)[source]
Bases: object
Own attach rendezvous, retry, and deduplication state for one trainer API.
-
auth_identity_map() → dict[source]
-
cell_security() → tuple[bool, dict][source]
-
cleanup() → None[source]
Best-effort interpreter cleanup without preempting a live result source.
-
clear_result() → None[source]
-
close() → None[source]
-
commit_reserved_task_locked(task_id: str, attempt_id: str) → None[source]
Publish QUEUED after queue insertion; caller must hold the API lock.
-
connection_resources() → dict[source]
Keep physical CP transport policy separate from Cell message security.
-
forget_reserved_task(task_id, attempt_id) → None[source]
-
install_pre_decode_guard(cell) → None[source]
Reject unauthorized attach streams from headers before FOBS decode.
-
mark_result_publishing(task_id: str) → str[source]
-
mark_task_complete(task_id: str) → None[source]
-
mark_task_delivered(task_id: str) → None[source]
-
prepare_connection() → str[source]
-
publish_result(task_id: str, result_id: str, shareable: Shareable, source_receiver_ids, fobs_ctx_props: dict) → None[source]
Publish one logical result with status recovery for a lost acceptance reply.
-
register_callbacks(cell) → None[source]
-
register_cleanup() → None[source]
-
reserve_task(task_id, attempt_id, task_sequence)[source]
Reserve a logical task, returning an idempotent reply for a duplicate.
-
wait_for_open() → None[source]
-
exception TrainerSessionError[source]
Bases: RuntimeError
The trainer’s Client API session ended or could not be established.