Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-65586

Improve Bearer Plugins

    XMLWordPrintable

Details

    Description

      Before Qt 5.9.3, Qt shipped with two types of bearer plugin (on macOS and Windows):

      • Generic, which enumerates network interfaces
      • WiFi, which enumerates WiFi networks

      The WiFi enumeration turned out to be disruptive, and the WiFi plugin has now been disabled. This is not believed to have any effect on bearer management, since in practice the Generic plugin was preferred. See QTBUG-40332.

      However, the Generic plugin is also not working optimally due to the fact that it tends to always report that there is at least one active interface - even if the system does not have general network connectivity. This is due to the presence of special-purpose interfaces such as tunneling interfaces and the Apple Wireless Direct Link (iDevice peer-to-peer) interface.

      We should develop new bearer plugins that use native connectivity APIs, and replace the generic plugin on the Apple platforms and Windows.

      The end goal is to make QNetworkAccessManager::networkAccessible() work. It should return "Accessible" if the system is connected to either ethernet or wifi. It should return NotAccessible if the device is in airplane mode. (The function goes as far as the local network, and does not determine if the internet is reachable.)

      Native API:

      • Windows:INetworkListManager::get_IsConnected, INetworkEvents::NetworkConnectivityChanged
      • macOS,iOS: Reachability

      Attachments

        Issue Links

          Activity

            People

              manordheim Mårten Nordheim
              sorvig Morten Sørvig
              Votes:
              17 Vote for this issue
              Watchers:
              29 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: