ilocal_ctx.go 1.5 KB

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