code: func (rtm *RTM) killConnection(intentional bool) (err error) {
  	rtm.Debugln("killing connection")
  
  	if rtm.conn != nil {
  		err = rtm.conn.Close()
  	}
  
  	rtm.IncomingEvents <- RTMEvent{"disconnected", &DisconnectedEvent{intentional}}
  
  	if intentional {
  		rtm.disconnect()
  	}
  
  	return err
  }
docs: // killConnection stops the websocket connection and signals to all goroutines
  // that they should cease listening to the connection for events.
  //
  // This should not be called directly! Instead a boolean value (true for
  // intentional, false otherwise) should be sent to the killChannel on the RTM.