ilocal_ctx.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. package comp_spec
  2. import (
  3. "context"
  4. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/core_spec"
  5. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
  6. "gitp78su.ipnodns.ru/svi/kern/v4/lev1/local_ctx/ctx_value"
  7. )
  8. // ICtxValue -- интерфейс к значению локального контекста.
  9. type ICtxValue = ctx_value.ICtxValue
  10. // ILocalCtx -- локальный контекст.
  11. type ILocalCtx interface {
  12. core_spec.IRWMutex
  13. // Get -- извлекает значение из контекста
  14. Get(key defs.ITxtFix) core_spec.IOption[ICtxValue]
  15. // Del -- удаляет значение из контекста
  16. Del(key defs.ITxtFix)
  17. // Set -- добавляет значение в контекст
  18. Set(key defs.ITxtFix, val any, comment any)
  19. // Size -- возвращает размер словаря контекста
  20. Size() defs.Int
  21. // SortedList -- возвращает сортированный список объектов контекста
  22. SortedList() []ICtxValue
  23. // Cancel -- отменяет контекст
  24. Cancel()
  25. // Wait -- ожидает отмены контекста
  26. Wait()
  27. // Log -- возвращает буфер сообщений
  28. Log() ILogBuf
  29. // Ctx -- возвращает хранимый контекст
  30. Ctx() context.Context
  31. }