code: func (msg *Message) Transport() (protocol.TransportMessage, error) {
  	if msg.msgType == "request" || msg.msgType == "direct_request" {
  		return msg.requestTransport()
  	} else if msg.msgType == "reply" {
  		return msg.replyTransport()
  	}
  
  	return nil, fmt.Errorf("do not know how to make a Transport for a %s type Message", msg.msgType)
  }
docs: // Transport creates a TransportMessage for this Message
  //
  // In the case of a reply Message made using NewMessage the Transport will have
  // the same version as the request that made it.  If you made the Message using
  // some other way then look at choria.NewReplyTransportForMessage.
  //
  // For requests you need to set the protocol version using SetProtocolVersion()
  // before calling Transport