ikernel_wg.go 1.1 KB

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