func (f Floor) EncodedLength() int {
	return 4 + len(f.ProtocolIdentifier) + len(f.AddressData)
}
EncodedLength returns the total number of bytes required to encode f.
package protocol
import (
	"encoding/binary"
	"io"
)
type Floor struct {
	ProtocolIdentifier []byte
	AddressData        []byte
}
func (f Floor) WriteTo(w io.Writer) (n int64, err error) {
	buf := make([]byte, f.EncodedLength())
	f.Marshal(buf)
	n32, err := w.Write(buf)
	return int64(n32), err
}
func (f Floor) Marshal(p []byte) {
	copyWithLength(f.ProtocolIdentifier, p)  
	p = p[2+len(f.ProtocolIdentifier):]
	copyWithLength(f.AddressData, p)  
}