# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.

from enum import Enum, auto


class Headers(Enum):
    """
    Enum representing headers used for communication with the inference-coordinator.
    """

    CONNECT = auto()
    CONNECT_ACK = auto()
    SUBMIT_REQUEST = auto()
    ENGINE_REPLY = auto()
    PAUSE = auto()
    PAUSE_ACK = auto()
    UNPAUSE = auto()
    SUSPEND = auto()
    RESUME = auto()
    STOP = auto()
    STOP_ACK = auto()


class UnknownHeaderError(Exception):
    """A signal with an unrecognized header was received by the coordinator."""

    def __init_(self, header):
        super().__init__(f"specialize for {header}.")
