1234567891011121314151617181920212223242526272829303132333435 |
- package storage
- import "encoding/binary"
- type reversion struct {
- main int64
- sub int64
- }
- func (a reversion) GreaterThan(b reversion) bool {
- if a.main > b.main {
- return true
- }
- if a.main < b.main {
- return false
- }
- return a.sub > b.sub
- }
- func newRevBytes() []byte {
- return make([]byte, 8+1+8)
- }
- func revToBytes(rev reversion, bytes []byte) {
- binary.BigEndian.PutUint64(bytes, uint64(rev.main))
- bytes[8] = '_'
- binary.BigEndian.PutUint64(bytes[9:], uint64(rev.sub))
- }
- func bytesToRev(bytes []byte) reversion {
- return reversion{
- main: int64(binary.BigEndian.Uint64(bytes[0:8])),
- sub: int64(binary.BigEndian.Uint64(bytes[9:])),
- }
- }
|