code: func (msg Msg) Decode(val interface{}) error {
  	s := rlp.NewStream(msg.Payload, uint64(msg.Size))
  	if err := s.Decode(val); err != nil {
  		return newPeerError(errInvalidMsg, "(code %x) (size %d) %v", msg.Code, msg.Size, err)
  	}
  	return nil
  }
docs: // Decode parses the RLP content of a message into
  // the given value, which must be a pointer.
  //
  // For the decoding rules, please see package rlp.