Wideband autonomous SDR analysis engine forked from sdr-visual-suite
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

28 linhas
373B

  1. package main
  2. import "sync"
  3. type phaseSnapshot struct {
  4. mu sync.RWMutex
  5. state phaseState
  6. }
  7. func (p *phaseSnapshot) Set(state phaseState) {
  8. if p == nil {
  9. return
  10. }
  11. p.mu.Lock()
  12. p.state = state
  13. p.mu.Unlock()
  14. }
  15. func (p *phaseSnapshot) Snapshot() phaseState {
  16. if p == nil {
  17. return phaseState{}
  18. }
  19. p.mu.RLock()
  20. state := p.state
  21. p.mu.RUnlock()
  22. return state
  23. }