ikernel_wg.go 1.2 KB

123456789101112131415161718192021222324252627
  1. package kspec
  2. import (
  3. "gitp78su.ipnodns.ru/svi/kern/v4/lev0"
  4. "gitp78su.ipnodns.ru/svi/kern/v4/lev1/comp_spec"
  5. "gitp78su.ipnodns.ru/svi/kern/v4/lev2/kern_ent/stream_name"
  6. )
  7. // IKernelWg -- интерфейс к именованному ожидателю потоков.
  8. type IKernelWg interface {
  9. // Add -- добавляет имя потока в ожидатель потоков
  10. Add(*stream_name.AStreamName)
  11. // Done -- удаляет имя потока из ожидания
  12. Done(*stream_name.AStreamName)
  13. // Wait -- ожидает завершения работы всех потоков
  14. Wait()
  15. // IsWork -- признак работы ожидателя потоков (после закрытия добавлять нельзя)
  16. IsWork() lev0.Bool
  17. // IsStop -- признаки остановки ожидатера потоков (после закрытия добавлять нельзя)
  18. IsStop() lev0.Bool
  19. // List -- возвращает список имён потоков на ожидании
  20. List() []*stream_name.AStreamName
  21. // Len -- возвращает размер списка потоков ожидания
  22. Len() lev0.Num
  23. // Log -- возвращает логгер ожидателя групп
  24. Log() comp_spec.ILogBuf
  25. }