github.com/diamondburned/arikawa@v1.3.14/internal/moreatomic/serial.go (about)

     1  package moreatomic
     2  
     3  import "sync/atomic"
     4  
     5  type Serial struct {
     6  	serial uint32
     7  }
     8  
     9  func (s *Serial) Get() int {
    10  	return int(atomic.LoadUint32(&s.serial))
    11  }
    12  
    13  func (s *Serial) Incr() int {
    14  	atomic.AddUint32(&s.serial, 1)
    15  	return s.Get()
    16  }