marshaller.go
func (m *Marshaller) MarshalUint32(v uint32) {
	if m.Error != nil {
		return
	}
	if len(m.Data) < m.offset+4 {
		m.Error = io.ErrShortBuffer
		return
	}

	m.Data[m.offset+0] = byte(v >> 24)
	m.Data[m.offset+1] = byte(v >> 16)
	m.Data[m.offset+2] = byte(v >> 8)
	m.Data[m.offset+3] = byte(v)
	m.offset += 4
}
func (m *Marshaller) MarshalUint32(v uint32) {
	if m.Error != nil {
		return
	}
	if len(m.Data) < m.offset+4 {
		m.Error = io.ErrShortBuffer
		return
	}

	m.Data[m.offset+0] = byte(v >> 24)
	m.Data[m.offset+1] = byte(v >> 16)
	m.Data[m.offset+2] = byte(v >> 8)
	m.Data[m.offset+3] = byte(v)
	m.offset += 4
}
// MarshalString appends the uint32 to the buffer.