package fusenrender import "sync" type UniqueId struct { nodeId uint64 count uint64 mu sync.Mutex } func (uid *UniqueId) Get() uint64 { uid.mu.Lock() defer uid.mu.Unlock() uid.count++ return (uid.count << 8) | uid.nodeId } func NewUniqueId(NodeId uint8) *UniqueId { return &UniqueId{ nodeId: uint64(NodeId), count: 0, } }