hx_swap_oob.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // package hx_swap_oob -- объект внеполосной подкачки.
  2. package hx_swap_oob
  3. import (
  4. "sync"
  5. "gitp78su.ipnodns.ru/svi/kern/v4/lev0"
  6. )
  7. // HxSwapOob -- объект внеполосной подкачки.
  8. type HxSwapOob struct {
  9. sync.RWMutex
  10. val lev0.Txt
  11. }
  12. // NewHxSwapOob -- возвращает новую внеполосную подкачку.
  13. func NewHxSwapOob() *HxSwapOob {
  14. sf := &HxSwapOob{}
  15. return sf
  16. }
  17. // String -- возвращает строковое представление тэга.
  18. func (sf *HxSwapOob) String() string {
  19. sf.RLock()
  20. defer sf.RUnlock()
  21. return `hx-swap-oob="` + string(sf.val) + `"`
  22. }
  23. // Get -- возвращает хранимое значение внеполосной подкачки.
  24. func (sf *HxSwapOob) Get() lev0.Txt {
  25. sf.RLock()
  26. defer sf.RUnlock()
  27. return sf.val
  28. }
  29. // Set -- устанавливает значение внеполосной подкачки.
  30. func (sf *HxSwapOob) Set(val lev0.Txt) {
  31. sf.Lock()
  32. defer sf.Unlock()
  33. sf.val = val
  34. }