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
}
func (c *MConnection) Send(chID byte, msg interface{}) bool {
	if !c.IsRunning() {
		return false
	}

	log.Debug("Send", "channel", chID, "conn", c, "msg", msg) 

	
	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 {
		
		select {
		case c.send <- struct{}{}:
		default:
		}
	} else {
		log.Warn("Send failed", "channel", chID, "conn", c, "msg", msg)
	}
	return success
}
func ( c * MConnection ) Send ( chID byte , msg interface { } ) bool { if ! c . IsRunning ( ) { return false } log . Debug ( " " , " " , chID , " " , c , " " , msg ) //, "bytes", wire.BinaryBytes(msg)) // Send message to channel. channel , ok := c . channelsIdx [ chID ] if ! ok { log . Error ( cmn . Fmt ( " " , 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 ( " " , " " , chID , " " , c , " " , msg ) } return success }
// Queues a message to be sent to channel.
Queues a message to be sent to channel .