ikernel.go 1.1 KB

123456789101112131415161718192021222324252627282930313233
  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. // ИЯдро -- базовый интерфейс ядра
  16. type ИЯдро interface {
  17. // Done -- возвращает канал отмены контекста приложения
  18. Done() <-chan struct{}
  19. // Отменить -- функция отмены глобального контекста ядра
  20. Отменить()
  21. // Wg -- возвращает групповой объект ожидания
  22. Wg() IWgName
  23. // Слог -- возвращает логгер
  24. Слог() ИСлог
  25. // Контекст -- возвращает контекст приложения
  26. Контекст() context.Context
  27. // Хранилище -- возвращает хранилище
  28. Хранилище() ИХранилище
  29. }