ilocal_ctx.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package ktypes
  2. import (
  3. "context"
  4. . "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
  5. )
  6. // ICtxValue -- интерфейс к значению локального контекста
  7. type ICtxValue interface {
  8. IRWMutex
  9. // Key -- возвращает ключ значения
  10. Key() string
  11. // Val -- возвращает хранимое значение
  12. Val() any
  13. // CreateAt -- возвращает метку времени создания
  14. CreateAt() ATime
  15. // UpdateAt -- возвращает метку времени обновления
  16. UpdateAt() ATime
  17. // Comment -- возвращает комментарий значения
  18. Comment() string
  19. }
  20. // ILocalCtx -- локальный контекст
  21. type ILocalCtx interface {
  22. IRWMutex
  23. // Get -- извлекает значение из контекста
  24. Get(key string) ICtxValue
  25. // Del -- удаляет значение из контекста
  26. Del(key string)
  27. // Set -- добавляет значение в контекст
  28. Set(key string, val any, comment string)
  29. // Size -- возвращает размер словаря контекста
  30. Size() int
  31. // SortedList -- возвращает сортированный список объектов контекста
  32. SortedList() []ICtxValue
  33. // Cancel -- отменяет контекст
  34. Cancel()
  35. // Done -- ожидает отмены контекста
  36. Done()
  37. // Log -- возвращает буфер сообщений
  38. Log() ILogBuf
  39. // Ctx -- возвращает хранимый контекст
  40. Ctx() context.Context
  41. }