from dataclasses import dataclass
from typing import Optional


@dataclass(frozen=True)
class FlowKey:
    """Flow identifier for network traffic analysis."""
    src_ip: str
    src_port: int
    dst_ip: str
    dst_port: int
    protocol: str
    extended_type: Optional[str] = None  # For extended frame types like IENA, Chapter 10, etc.