code: func (c *Connection) Send(h Headers, b string) error {
  	c.log(SEND, "start", h)
  	if !c.connected {
  		return ECONBAD
  	}
  	e := checkHeaders(h, c.Protocol())
  	if e != nil {
  		return e
  	}
  	if _, ok := h.Contains(HK_DESTINATION); !ok {
  		return EREQDSTSND
  	}
  	ch := h.Clone()
  	f := Frame{SEND, ch, []uint8(b)}
  	r := make(chan error)
  	if e = c.writeWireData(wiredata{f, r}); e != nil {
  		return e
  	}
  	e = <-r
  	c.log(SEND, "end", ch)
  	return e // nil or not
  }
docs: /*
  	Send a STOMP MESSAGE.
  
  	Headers MUST contain a "destination" header key.
  
  	The message body (payload) is a string, which may be empty.
  
  	Example:
  		h := stompngo.Headers{stompngo.HK_DESTINATION, "/queue/mymessages"}
  		m := "My message"
  		e := c.Send(h, m)
  		if e != nil {
  			// Do something sane ...
  		}
  
  */