init: dec-music 项目初始化

This commit is contained in:
2026-05-23 12:55:48 +08:00
commit 21045d0aad
50 changed files with 3662 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
package internal
// ProtoBuffer decodes a subset of the protobuf wire format for MMKV payloads.
type ProtoBuffer struct {
buf []byte
idx int
}
// NewProtoBuffer returns a buffer whose unread portion is buf.
func NewProtoBuffer(buf []byte) *ProtoBuffer {
return &ProtoBuffer{buf: buf}
}
// DecodeStringBytes consumes a length-prefixed string.
func (b *ProtoBuffer) DecodeStringBytes() (string, error) {
v, n := ConsumeString(b.buf[b.idx:])
if n < 0 {
return "", parseError(n)
}
b.idx += n
return v, nil
}
// DecodeRawBytes consumes a length-prefixed bytes field.
func (b *ProtoBuffer) DecodeRawBytes(alloc bool) ([]byte, error) {
v, n := ConsumeBytes(b.buf[b.idx:])
if n < 0 {
return nil, parseError(n)
}
b.idx += n
if alloc {
v = append([]byte(nil), v...)
}
return v, nil
}
// Unread returns the unread portion of the buffer.
func (b *ProtoBuffer) Unread() []byte {
return b.buf[b.idx:]
}