ikernel_wg.go 1.1 KB

12345678910111213141516171819202122232425
  1. package kspec
  2. import (
  3. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/core_spec"
  4. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/stream_name"
  5. "gitp78su.ipnodns.ru/svi/kern/v4/lev1/comp_spec"
  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() core_spec.EBool
  17. // List -- возвращает список имён потоков на ожидании
  18. List() []*stream_name.AStreamName
  19. // Len -- возвращает размер списка потоков ожидания
  20. Len() int
  21. // Log -- возвращает логгер ожидателя групп
  22. Log() comp_spec.ILogBuf
  23. }