Skip to content

Latest commit

 

History

History
48 lines (27 loc) · 2.31 KB

ConnectorPool.md

File metadata and controls

48 lines (27 loc) · 2.31 KB

Описание класса ConnectorsPool

Класс ConnectorsPool представляет пул коннекторов для управления подключениями к сервису MLP (Machine Learning Platform).

Поля класса

  • token: Токен для аутентификации при подключении к сервису.
  • executor: Исполнитель задач для коннекторов в пуле.
  • config: Конфигурация сервиса MLP.
  • scope: Область корутины для управления жизненным циклом пула коннекторов.
  • clusterMutex: Мьютекс для безопасного доступа к кластеру коннекторов.
  • connectors: Мапа коннекторов, ключом является их идентификатор.

Методы

  1. send(connectorId: Long, toGateProto: ServiceToGateProto)

    Отправляет сообщение в сервис через конкретный коннектор по его идентификатору.

  2. sendToAnyGate(toGateProto: ServiceToGateProto)

    Отправляет сообщение в сервис через любой доступный коннектор в пуле.

  3. gracefulShutdown()

    Выполняет грациозное завершение работы пула коннекторов.

  4. shutdownNow()

    Принудительно завершает работу пула коннекторов.

  5. updateConnectors(urls: List)

    Обновляет коннекторы в пуле в соответствии с новыми URL-адресами.

  6. toString()

    Представляет пул коннекторов в виде строки.

Дополнительные методы

  • launchConnectorsMonitor()

    Запускает мониторинг активности коннекторов для автоматического обновления состояния пула.

  • logProto(body: MessageLite, prompt: String)

    Логирует протокол сообщения в удобочитаемом формате, если размер данных не превышает определенного значения.