// package kbus_local -- реализация локальной шины сообщений package kbus_local import ( "fmt" . "gitp78su.ipnodns.ru/svi/kern/v4/lev0/ktypes" . "gitp78su.ipnodns.ru/svi/kern/v4/lev1" "gitp78su.ipnodns.ru/svi/kern/v4/lev2/kbus_base" ) // Локальная шина данных type kernelBusLocal struct { *kbus_base.KBusBase } var ( bus *kernelBusLocal ) // GetKernelBusLocal -- возвращает локальную шину сообщений func GetKernelBusLocal() IResult[*kernelBusLocal] { if bus != nil { return NewRes(bus) } resBus := kbus_base.GetKernelBusBase() if resBus.IsErr() { err := fmt.Errorf("GetKernelBusLocal(): in get kernel bus base, err=\n\t%w", resBus.Err()) return NewErr[*kernelBusLocal](err) } bus = &kernelBusLocal{ KBusBase: resBus.Val(), } return NewRes(bus) }