lux/proto/lux_id.go
2024-12-29 13:27:06 +02:00

28 lines
411 B
Go

package proto
import "github.com/google/uuid"
type LuxID struct{ uuid.UUID }
func NewLuxID() LuxID {
return LuxID{uuid.New()}
}
func (id *LuxID) Read(rd *LuxBuffer) error {
bytes, err := rd.ReadNext(16)
if err != nil {
return err
}
_id, err := uuid.FromBytes(bytes)
if err != nil {
return err
}
id.UUID = _id
return nil
}
func (id *LuxID) Write(wd *LuxBuffer) {
wd.WriteBytes(id.UUID[:])
}