TPE RIL Network team/NetworkManagerEnhancement/2014-07-21

From MozillaWiki
Jump to: navigation, search

Time

2014/7/21 (Mon), 3pm

Place

Blue Mountain, 5F

Attendee

Ken, Chuck, Jessica, Hsinyi, Vicamo, AKnow, Edgar, Henry, Ethan

Goal of NetworkManager Enhancement

To centralize scattered interface controls in NetworkManager. We want to resolve some problems of current design. For example:

  1. Network Event Listener
    • DataCall (3G) currently has to listen to events from Wifi module to decide to switch itself on/off.
    • When more interfaces are added (such as Ethernet), then 3G has to listen to more events from newly added interfaces, which would make its logic become more complicated.
  2. Intermediate Mediator for Requesting Network
    • Now, MMS and SUPL send requests directly to supplicant. We tend to have a centralized control of network requests.

Agenda

Conclusions

  1. About Internal and External Interfaces
    • Internal interfaces do not have the capability to connect to Internet. Example are Wifi-Direct, Wifi-Tethering and USB-Tethering.
    • From the API perspective, we SHOULD NOT distinguish between internal and external interfaces.
    • The different logic could be hided in the implementation of NetworkManager (using the attribute “nsINetworkInfo::type”).
    • Therefore, conclusion 1 and 3 from the meeting on 2014/7/17 are revised (so, DO NOT add the attribute “nsINetworkInfo::connectable”).
  2. About Retry Timer
    • Each network interface type should implement its own retry timer mechanism. Such as in DataCall and WifiWorker.
  3. Change of API Naming
    • After revising the meaning of connect()/disconnect(), we propose to rename nsINetworkManager::connect()/disconnect() as activate()/deactivate().
  4. Deactivate() for Wifi
    • nsINetworkManager::deactivate() should never be called for Wifi interface (based on the assumption that the priority of Wifi is always higher than the priority of DataCall).

Todos

  • Update the sequence diagrams of NetworkManager design proposal (Edgar).

To-Be-Discussed

  • After an interface is being activated, could it automatically establish connection?