func NewMessageBytes(b []byte) (Message, error) {
	mh, err := NewMessageHeader(b[:MessageHeaderSize])
	if err != nil {
		return nil, err
	}
	return &MessageBytes{
		MessageHeader: *mh,
		Bytes:         b[MessageHeaderSize:],
	}, nil
}
// NewMessageBytes returns a new message from a given byte array containing a message
// header and the raw bytes for the remaining message.
NewMessageBytes returns a new message from a given byte array containing a message
header and the raw bytes for the remaining message.
// NewMessageBytes returns a new message from a given byte array containing a message // header and the raw bytes for the remaining message .
func NewMessageBytes(b []byte) (Message, error) {
	mh, err := NewMessageHeader(b[:MessageHeaderSize])
	if err != nil {
		return nil, err
	}
	return &MessageBytes{
		MessageHeader: *mh,
		Bytes:         b[MessageHeaderSize:],
	}, nil
}
func NewMessageBytes ( b [ ] byte ) ( Message , error ) { mh , err := NewMessageHeader ( b [ : MessageHeaderSize ] ) if err != nil { return nil , err } return & MessageBytes { MessageHeader : * mh , Bytes : b [ MessageHeaderSize : ] , } , nil }
NewMessageBytes returns a new message from a given byte array containing a message
header and the raw bytes for the remaining message.
NewMessageBytes returns a new message from a given byte array containing a message header and the raw bytes for the remaining message .