ikernel.go 1002 B

12345678910111213141516171819202122232425262728293031
  1. package types
  2. import "context"
  3. /*
  4. Базовый интерфейс ядра
  5. */
  6. // IWgName -- интерфейс к группе ожидания по именам
  7. type IWgName interface {
  8. // Add -- добавляет имя для ожидания
  9. Add(name string) error
  10. // Done -- отпускает имя для ожидания
  11. Done(name string) error
  12. // Wait -- ожидает отпускание группы
  13. Wait()
  14. }
  15. // IKernel -- базовый интерфейс ядра
  16. type IKernel interface {
  17. // Done -- возвращает канал отмены контекста приложения
  18. Done() <-chan struct{}
  19. // CancelApp -- функция тмены глобального контекста ядра
  20. CancelApp()
  21. // Wg -- возвращает групповой объект ожидания
  22. Wg() IWgName
  23. // Slog -- возвращает логгер
  24. Slog() ISlog
  25. // CtxApp -- возвращает контекст приложения
  26. CtxApp() context.Context
  27. }