ichan.go 555 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/result"
  5. )
  6. // IChan -- умный канал.
  7. type IChan[T any] interface {
  8. // Read -- читает сообщение из канала.
  9. Read() *result.Result[T]
  10. // Limit -- лимит канала.
  11. Limit() defs.Num
  12. // Len -- количество сообщений в канале.
  13. Len() defs.Num
  14. // Close -- закрыть канал.
  15. Close()
  16. // IsClosed -- проверяет закрыт ли канал.
  17. IsClosed() defs.Bool
  18. }