func Authenticate(buffer *alloc.Buffer) { fnvHash := fnv.New32a() fnvHash.Write(buffer.Value) buffer.SliceBack(4) fnvHash.Sum(buffer.Value[:0]) buffer.Prepend(serial.Uint16Literal(uint16(buffer.Len())).Bytes()) }