agent/wsclient/client.go
func (cs *ClientServerImpl) Disconnect(...interface{}) error {
	cs.writeLock.Lock()
	defer cs.writeLock.Unlock()

	if cs.conn == nil {
		return fmt.Errorf("websocker client: no connection to close")
	}

	// Close() in turn results in a an internal flushFrame() call in gorilla
	// as the close frame needs to be sent to the server. Set the deadline
	// for that as well.
	if err := cs.conn.SetWriteDeadline(time.Now().Add(cs.RWTimeout)); err != nil {
		seelog.Warnf("Unable to set write deadline for websocket connection: %v for %s", err, cs.URL)
	}
	return cs.conn.Close()
}
func (cs *ClientServerImpl) Disconnect(...interface{}) error {
	cs.writeLock.Lock()
	defer cs.writeLock.Unlock()

	if cs.conn == nil {
		return fmt.Errorf("websocker client: no connection to close")
	}

	// Close() in turn results in a an internal flushFrame() call in gorilla
	// as the close frame needs to be sent to the server. Set the deadline
	// for that as well.
	if err := cs.conn.SetWriteDeadline(time.Now().Add(cs.RWTimeout)); err != nil {
		seelog.Warnf("Unable to set write deadline for websocket connection: %v for %s", err, cs.URL)
	}
	return cs.conn.Close()
}
func ( cs * ClientServerImpl ) Disconnect ( ... interface { } ) error { cs . writeLock . Lock ( ) defer cs . writeLock . Unlock ( ) if cs . conn == nil { return fmt . Errorf ( " " ) } // Close() in turn results in a an internal flushFrame() call in gorilla // as the close frame needs to be sent to the server. Set the deadline // for that as well. if err := cs . conn . SetWriteDeadline ( time . Now ( ) . Add ( cs . RWTimeout ) ) ; err != nil { seelog . Warnf ( " " , err , cs . URL ) } return cs . conn . Close ( ) }
// Disconnect disconnects the connection
Disconnect disconnects the connection