// package kbus_local -- реализация локальной шины сообщений. package kbus_local import ( "fmt" mL0 "gitp78su.ipnodns.ru/svi/kern/v4/lev0" "gitp78su.ipnodns.ru/svi/kern/v4/lev2/kbus_base" ) // Локальная шина данных. type kernelBusLocal struct { *kbus_base.KBusBase } var ( bus *kernelBusLocal ) // GetKernelBusLocal -- возвращает локальную шину сообщений. func GetKernelBusLocal() *mL0.Result[*kernelBusLocal] { if bus != nil { return mL0.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 mL0.NewErr[*kernelBusLocal](err) } bus = &kernelBusLocal{ KBusBase: resBus.Val(), } return mL0.NewRes(bus) }