Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard
fun interface NotifyMessageBuilder

Функциональный интерфейс для построения уведомлений об изменении точек данных.

Link copied to clipboard
class RpcServer(rpcHandler: RpcHandler, config: RpcServerConfig)

Сервер RPC, реализованный на основе Ktor + Netty, поддерживающий WebSocket соединения.

Link copied to clipboard
data class RpcServerConfig(val port: Int, var host: String = "0.0.0.0", val pingPeriod: Duration = Duration.ofSeconds(15), val timeout: Duration = Duration.ofSeconds(30), val maxFrameSize: Long = Long.MAX_VALUE, val ssl: SSLConfig = SSLConfig())

Конфигурация для JSON-RPC сервера.

Link copied to clipboard
class Session(ws: DefaultWebSocketSession, apiClient: ApiClient)

Представляет собой сеанс взаимодействия клиента через WebSocket. Управляет подписками на точки данных и отправкой уведомлений.

Link copied to clipboard
interface SessionLogger

Миксин для логирования вызова методов, требующих аутентифицированной сессии. Использует SessionStore для получения сессии и логирует факт вызова метода пользователем.

Link copied to clipboard
class SessionStore(apiClient: ApiClient)

Хранилище активных сессий, управляющее их созданием, поиском и удалением.

Link copied to clipboard
data class SSLConfig(val enabled: Boolean = false, val keyStorePath: String = "", val keyStorePass: String = "", val keyAlias: String = "", val keyPass: String = "")

Конфигурация SSL для RPC сервера.

Functions

Link copied to clipboard

Загружает и создаёт объект RpcServerConfig на основе свойств приложения.