| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- // package mock_hand_serve -- мок-обработчик входящих запросов.
- package mock_hand_serve
- import (
- "fmt"
- "sync"
- mL0 "gitp78su.ipnodns.ru/svi/kern/v4/lev0"
- mKd "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/handler_name"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/topic"
- mKh "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
- mKs "gitp78su.ipnodns.ru/svi/kern/v4/lev0/kspec"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev1/safe_bool"
- )
- // MockHandlerServe -- мок-обработчик входящих запросов.
- type MockHandlerServe struct {
- IsBad_ mKs.ISafeBool // Признак сбоя при вызове
- Msg_ []byte // Для обратного вызова
- Name_ *handler_name.AHandlerName // Уникальное имя мок-обработчика подписки
- Topic_ *topic.ATopic // Имя топика подписки
- block sync.Mutex
- }
- // NewMockHandlerServe -- возвращает новый обработчик подписки.
- func NewMockHandlerServe(topic *topic.ATopic, name string) *MockHandlerServe {
- mKh.Hassert(topic.Get() != "", "NewMockHandlerServe(): topic is empty")
- mKh.Hassert(name != "", "NewMockHandlerServe(): name is empty")
- sf := &MockHandlerServe{
- Topic_: topic,
- Name_: mKd.NewHandlerName(name),
- IsBad_: safe_bool.NewSafeBool(false),
- }
- _ = mKs.IBusHandlerServe(sf)
- return sf
- }
- // Функция обратного вызова подписки.
- func (sf *MockHandlerServe) FnBack(binMsg []byte) mL0.IResult[[]byte] {
- sf.block.Lock()
- defer sf.block.Unlock()
- if sf.IsBad_.Get() {
- err := fmt.Errorf("FnBack(): isBad==true")
- return mL0.NewErr[[]byte](err)
- }
- sf.Msg_ = binMsg
- return mL0.NewOk(binMsg)
- }
- // Возвращает уникальное имя обработчика подписки.
- func (sf *MockHandlerServe) Topic() *topic.ATopic {
- return sf.Topic_
- }
- // Возвращает топик для обработчика подписки.
- func (sf *MockHandlerServe) Name() *handler_name.AHandlerName {
- return sf.Name_
- }
|