ichan.go 572 B

1234567891011121314151617181920
  1. package core_spec
  2. import (
  3. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
  4. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_spec"
  5. )
  6. // IChan -- умный канал.
  7. type IChan[T any] interface {
  8. // Read -- читает сообщение из канала.
  9. Read() def_spec.IResult[T]
  10. // Limit -- лимит канала.
  11. Limit() def_spec.Int
  12. // Len -- количество сообщений в канале.
  13. Len() def_spec.Int
  14. // Close -- закрыть канал.
  15. Close()
  16. // IsClosed -- проверяет закрыт ли канал.
  17. IsClosed() defs.Bool
  18. }