Шина ядра.
Может иметь несколько реализаций. Из фреймворка предлагается две реализации :
// IKernelBus -- шина сообщений ядра
//
// Публикация и запрос требуют параметров на _передачу_.
// Подписка и обслуживание входящих запросов требует _обработчиков_.
type IKernelBus interface {
// Publish -- публикует сообщение в шину
Publish(topic ATopic, binMsg []byte) Result[bool]
// SendRequest -- выполняет запрос по указанному топику
SendRequest(topic ATopic, binReq []byte) Result[[]byte]
// Subscribe -- подписывает обработчик на топик
Subscribe(IBusHandlerSubscribe) Result[bool]
// Unsubscribe -- отписывается от топика
Unsubscribe(IBusHandlerSubscribe)
// RegisterServe -- Регистрирует обработчик на обслуживание входящих запросов
RegisterServe(IBusHandlerServe)
// IsWork -- возвращает признак работы шины
IsWork() bool
// Log -- возвращает буферный лог
Log() ILogBuf
}