36b3af2e3d
PR Check / Code Quality: Format (push) Failing after 1s
PR Check / Code Quality: Lint (darwin) (push) Failing after 0s
PR Check / Code Quality: Lint (freebsd) (push) Failing after 1s
PR Check / Code Quality: Lint (windows) (push) Failing after 1s
PR Check / Code Quality: Lint (linux) (push) Failing after 1s
PR Check / Security: Vulnerability Scan (push) Failing after 0s
Update Documentation / update-docs (push) Failing after 2s
PR Check / Code Quality: Vendor (push) Failing after 1s
PR Check / Code Quality: Coverage (push) Failing after 0s
PR Check / Tests: Unit (macos-latest) (push) Has been cancelled
PR Check / Tests: Unit (ubuntu-24.04) (push) Has been cancelled
PR Check / Tests: Unit (ubuntu-24.04-arm) (push) Has been cancelled
PR Check / Tests: Unit (windows-latest) (push) Has been cancelled
25 lines
555 B
Go
25 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}
|
|
}
|