func (c *Connection) sendMessage(msg message) error {
	frame := c.opts.FramePool.Get()
	if err := frame.write(msg); err != nil {
		c.opts.FramePool.Release(frame)
		return err
	}

	select {
	case c.sendCh <- frame:
		return nil
	default:
		return ErrSendBufferFull
	}
}
func (c *Connection) sendMessage(msg message) error {
	frame := c.opts.FramePool.Get()
	if err := frame.write(msg); err != nil {
		c.opts.FramePool.Release(frame)
		return err
	}

	select {
	case c.sendCh <- frame:
		return nil
	default:
		return ErrSendBufferFull
	}
}
func ( c * Connection ) sendMessage ( msg message ) error { frame := c . opts . FramePool . Get ( ) if err := frame . write ( msg ) ; err != nil { c . opts . FramePool . Release ( frame ) return err } select { case c . sendCh <- frame : return nil default : return ErrSendBufferFull } }
// sendMessage sends a standalone message (typically a control message)
sendMessage sends a standalone message ( typically a control message )