code: func (c *MConnection) Send(chID byte, msg interface{}) bool {
  	if !c.IsRunning() {
  		return false
  	}
  
  	log.Debug("Send", "channel", chID, "conn", c, "msg", msg) //, "bytes", wire.BinaryBytes(msg))
  
  	// Send message to channel.
  	channel, ok := c.channelsIdx[chID]
  	if !ok {
  		log.Error(cmn.Fmt("Cannot send bytes, unknown channel %X", chID))
  		return false
  	}
  
  	success := channel.sendBytes(wire.BinaryBytes(msg))
  	if success {
  		// Wake up sendRoutine if necessary
  		select {
  		case c.send <- struct{}{}:
  		default:
  		}
  	} else {
  		log.Warn("Send failed", "channel", chID, "conn", c, "msg", msg)
  	}
  	return success
  }
docs: // Queues a message to be sent to channel.