hx_swap_oob.go 1.0 KB

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