24 lines
555 B
Go
24 lines
555 B
Go
package dbus
|
|
|
|
// Sequence represents the value of a monotonically increasing counter.
|
|
type Sequence uint64
|
|
|
|
const (
|
|
// NoSequence indicates the absence of a sequence value.
|
|
NoSequence Sequence = 0
|
|
)
|
|
|
|
// sequenceGenerator represents a monotonically increasing counter.
|
|
type sequenceGenerator struct {
|
|
nextSequence Sequence
|
|
}
|
|
|
|
func (generator *sequenceGenerator) next() Sequence {
|
|
result := generator.nextSequence
|
|
generator.nextSequence++
|
|
return result
|
|
}
|
|
|
|
func newSequenceGenerator() *sequenceGenerator {
|
|
return &sequenceGenerator{nextSequence: 1}
|
|
}
|