ilocal_ctx.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. package comp_spec
  2. import (
  3. "context"
  4. "gitp78su.ipnodns.ru/svi/kern/v4/lev0"
  5. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/core_spec"
  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 lev0.ATxt) *lev0.Option[ICtxValue]
  15. // Del -- удаляет значение из контекста
  16. Del(key lev0.ATxt)
  17. // Set -- добавляет значение в контекст
  18. Set(key lev0.ATxt, val any, comment lev0.ATxt)
  19. // Size -- возвращает размер словаря контекста
  20. Size() lev0.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. }