marshaller.go
func (m *Marshaller) MarshalBytes(bs []byte) {
	if m.Error != nil {
		return
	}
	if len(m.Data) < m.offset+4+len(bs)+Padding(len(bs)) {
		m.Error = io.ErrShortBuffer
		return
	}

	m.MarshalUint32(uint32(len(bs)))
	m.offset += copy(m.Data[m.offset:], bs)
	m.offset += copy(m.Data[m.offset:], padBytes[:Padding(len(bs))])
}
func (m *Marshaller) MarshalBytes(bs []byte) {
	if m.Error != nil {
		return
	}
	if len(m.Data) < m.offset+4+len(bs)+Padding(len(bs)) {
		m.Error = io.ErrShortBuffer
		return
	}

	m.MarshalUint32(uint32(len(bs)))
	m.offset += copy(m.Data[m.offset:], bs)
	m.offset += copy(m.Data[m.offset:], padBytes[:Padding(len(bs))])
}
func ( m * Marshaller ) MarshalBytes ( bs [ ] byte ) { if m . Error != nil { return } if len ( m . Data ) < m . offset + 4 + len ( bs ) + Padding ( len ( bs ) ) { m . Error = io . ErrShortBuffer return } m . MarshalUint32 ( uint32 ( len ( bs ) ) ) m . offset += copy ( m . Data [ m . offset : ] , bs ) m . offset += copy ( m . Data [ m . offset : ] , padBytes [ : Padding ( len ( bs ) ) ] ) }
// MarshalString appends the bytes to the buffer, with a size prefix and
// correct padding.
MarshalString appends the bytes to the buffer with a size prefix and correct padding .