code: func (c *wsClient) SendMessage(marshalledJSON []byte, doneChan chan bool) {
  	// Don't send the message if disconnected.
  	if c.Disconnected() {
  		if doneChan != nil {
  			doneChan <- false
  		}
  		return
  	}
  
  	c.sendChan <- wsResponse{msg: marshalledJSON, doneChan: doneChan}
  }
docs: // SendMessage sends the passed json to the websocket client.  It is backed
  // by a buffered channel, so it will not block until the send channel is full.
  // Note however that QueueNotification must be used for sending async
  // notifications instead of the this function.  This approach allows a limit to
  // the number of outstanding requests a client can make without preventing or
  // blocking on async notifications.