TPE RIL Network team/NetworkManagerEnhancement/2014-07-21
From MozillaWiki
Contents
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:
- 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.
- 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
- Review the conclusions of the meeting on 2014/7/17.
Conclusions
- 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”).
- About Retry Timer
- Each network interface type should implement its own retry timer mechanism. Such as in DataCall and WifiWorker.
- Change of API Naming
- After revising the meaning of connect()/disconnect(), we propose to rename nsINetworkManager::connect()/disconnect() as activate()/deactivate().
- 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?