|
@@ -2,7 +2,6 @@ package ktypes
|
|
|
|
|
|
|
|
import (
|
|
import (
|
|
|
mKa "gitp78su.ipnodns.ru/svi/kern/v4/lev0/alias"
|
|
mKa "gitp78su.ipnodns.ru/svi/kern/v4/lev0/alias"
|
|
|
- mRes "gitp78su.ipnodns.ru/svi/kern/v4/lev0/result"
|
|
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
// IBusBaseHandler -- базовый обработчик обратного вызова.
|
|
// IBusBaseHandler -- базовый обработчик обратного вызова.
|
|
@@ -24,13 +23,13 @@ type IBusHandlerSubscribe interface {
|
|
|
type IBusHandlerServe interface {
|
|
type IBusHandlerServe interface {
|
|
|
IBusBaseHandler
|
|
IBusBaseHandler
|
|
|
// FnBack -- функция обратного вызова
|
|
// FnBack -- функция обратного вызова
|
|
|
- FnBack(binReq []byte) *mRes.Result[[]byte]
|
|
|
|
|
|
|
+ FnBack(binReq []byte) IResult[[]byte]
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// IDictSubHook -- словарь обработчиков по единственному топику.
|
|
// IDictSubHook -- словарь обработчиков по единственному топику.
|
|
|
type IDictSubHook interface {
|
|
type IDictSubHook interface {
|
|
|
// Subscribe -- подписывает обработчик
|
|
// Subscribe -- подписывает обработчик
|
|
|
- Subscribe(IBusHandlerSubscribe) *mRes.Result[bool]
|
|
|
|
|
|
|
+ Subscribe(IBusHandlerSubscribe)
|
|
|
// Read -- все локальные обработчики читают сообщение по его приходу
|
|
// Read -- все локальные обработчики читают сообщение по его приходу
|
|
|
Read(binMsg []byte)
|
|
Read(binMsg []byte)
|
|
|
// Unsubscribe -- отписывает обработчик
|
|
// Unsubscribe -- отписывает обработчик
|
|
@@ -42,7 +41,7 @@ type IDictSubHook interface {
|
|
|
// При подписке потребителей топика может быть НЕСКОЛЬКО на КАЖДЫЙ топик.
|
|
// При подписке потребителей топика может быть НЕСКОЛЬКО на КАЖДЫЙ топик.
|
|
|
type IDictTopicSub interface {
|
|
type IDictTopicSub interface {
|
|
|
// Subscribe -- подписывает подписчиков на любой из топиков
|
|
// Subscribe -- подписывает подписчиков на любой из топиков
|
|
|
- Subscribe(IBusHandlerSubscribe) *mRes.Result[bool]
|
|
|
|
|
|
|
+ Subscribe(IBusHandlerSubscribe)
|
|
|
// Read -- читает сообщение для всех обработчиков подписки по приходу на любой из топиков
|
|
// Read -- читает сообщение для всех обработчиков подписки по приходу на любой из топиков
|
|
|
Read(topic *mKa.ATopic, binMsg []byte)
|
|
Read(topic *mKa.ATopic, binMsg []byte)
|
|
|
// Unsubscribe -- отписывает подписчиков от любого из топиков
|
|
// Unsubscribe -- отписывает подписчиков от любого из топиков
|
|
@@ -55,9 +54,9 @@ type IDictTopicSub interface {
|
|
|
// Но обработчик вызывается конкурентно.
|
|
// Но обработчик вызывается конкурентно.
|
|
|
type IDictTopicServe interface {
|
|
type IDictTopicServe interface {
|
|
|
// Register -- регистрирует единственный обработчик на единственный топик
|
|
// Register -- регистрирует единственный обработчик на единственный топик
|
|
|
- Register(IBusHandlerServe) *mRes.Result[bool]
|
|
|
|
|
|
|
+ Register(IBusHandlerServe) IResult[bool]
|
|
|
// SendRequest -- выполняет запрос по указанному топику
|
|
// SendRequest -- выполняет запрос по указанному топику
|
|
|
- SendRequest(topic *mKa.ATopic, binReq []byte) *mRes.Result[[]byte]
|
|
|
|
|
|
|
+ SendRequest(topic *mKa.ATopic, binReq []byte) IResult[[]byte]
|
|
|
// Unregister -- удаляет единственный обработчик с единственного топика
|
|
// Unregister -- удаляет единственный обработчик с единственного топика
|
|
|
Unregister(IBusHandlerServe)
|
|
Unregister(IBusHandlerServe)
|
|
|
}
|
|
}
|
|
@@ -68,16 +67,16 @@ type IDictTopicServe interface {
|
|
|
// Подписка и обслуживание входящих запросов требует _обработчиков_.
|
|
// Подписка и обслуживание входящих запросов требует _обработчиков_.
|
|
|
type IKernelBus interface {
|
|
type IKernelBus interface {
|
|
|
// Publish -- публикует сообщение в шину
|
|
// Publish -- публикует сообщение в шину
|
|
|
- Publish(topic *mKa.ATopic, binMsg []byte) *mRes.Result[bool]
|
|
|
|
|
|
|
+ Publish(topic *mKa.ATopic, binMsg []byte) IResult[bool]
|
|
|
// SendRequest -- выполняет запрос по указанному топику
|
|
// SendRequest -- выполняет запрос по указанному топику
|
|
|
- SendRequest(topic *mKa.ATopic, binReq []byte) *mRes.Result[[]byte]
|
|
|
|
|
|
|
+ SendRequest(topic *mKa.ATopic, binReq []byte) IResult[[]byte]
|
|
|
|
|
|
|
|
// Subscribe -- подписывает обработчик на топик
|
|
// Subscribe -- подписывает обработчик на топик
|
|
|
- Subscribe(IBusHandlerSubscribe) *mRes.Result[bool]
|
|
|
|
|
|
|
+ Subscribe(IBusHandlerSubscribe) IResult[bool]
|
|
|
// Unsubscribe -- отписывается от топика
|
|
// Unsubscribe -- отписывается от топика
|
|
|
Unsubscribe(IBusHandlerSubscribe)
|
|
Unsubscribe(IBusHandlerSubscribe)
|
|
|
// RegisterServe -- Регистрирует обработчик на обслуживание входящих запросов
|
|
// RegisterServe -- Регистрирует обработчик на обслуживание входящих запросов
|
|
|
- RegisterServe(IBusHandlerServe) *mRes.Result[bool]
|
|
|
|
|
|
|
+ RegisterServe(IBusHandlerServe) IResult[bool]
|
|
|
|
|
|
|
|
// IsWork -- возвращает признак работы шины
|
|
// IsWork -- возвращает признак работы шины
|
|
|
IsWork() bool
|
|
IsWork() bool
|