nvflare.fuel.f3.cellnet.fqcn module

class FQCN[source]

Bases: FQN

VALID_PATTERN = '^[A-Za-z0-9_.~-]*$'
class FqcnInfo(fqcn: str)[source]

Bases: object

make_cell_pipe_alias(owner: str, runtime_id: str, mode: str) str[source]
make_cell_pipe_leaf(runtime_id: str, mode: str) str[source]
parse_cell_pipe_alias(segment: str) Tuple[str, str, str] | None[source]

Parse a CellPipe alias leaf segment into (owner, runtime_id, mode).

Two shapes are accepted:
  • the current explicit form “cellpipe~alias~<owner>~<runtime_id>~<mode>”;

  • the bare legacy form “<owner>_<runtime_id>_<mode>” used by pre-2.9 flat CellPipe names, where the whole FQCN is the alias. Callers decide where the bare form is acceptable; it is normally restricted to single-segment FQCNs so an unmarked “<token>_<mode>” leaf inside a longer FQCN is never misread as an alias.

The explicit form accepts “-” and “_” in both owner and runtime_id because “~” is its only field separator. The legacy form is parsed from the right, so its runtime_id must not contain “.” or “_”.

Returns None if the segment is not a valid alias.

same_family(info1: FqcnInfo, info2: FqcnInfo)[source]