code: func (cm *rpcConnManager) DisconnectByAddr(addr string) error {
  	replyChan := make(chan error)
  	cm.server.query <- disconnectNodeMsg{
  		cmp:   func(sp *serverPeer) bool { return sp.Addr() == addr },
  		reply: replyChan,
  	}
  	return <-replyChan
  }
docs: // DisconnectByAddr disconnects the peer associated with the provided address.
  // This applies to both inbound and outbound peers.  Attempting to remove an
  // address that does not exist will return an error.
  //
  // This function is safe for concurrent access and is part of the
  // rpcserverConnManager interface implementation.