Hi Patrik,
On 03/30/2012 04:24 PM, patrik.fl...@linux.intel.com wrote:
From: Patrik Flykt<patrik.fl...@linux.intel.com>
Hi,
This patch set implements PreferredTechnologies described in
http://lists.connman.net/pipermail/connman/2012-March/008605.html.
It took some time longer than expected, as I went in the wrong direction
a couple of times on the way.
With this patch set ordering of the services is not changed. Instead
when autoconnecting, a new sequence of preferred services is created
which is tried first. Should none of the services in the preferred
service list start connecting, a normal autoconnect using the service
list/sequence is run. The autoconnection code is refactored with some
modifications for preferred services, and can thus work with either
the service list or the preferred technology list (patch 07).
The preferred technology list is created by going through the service
list one technology at a time (patch 05). The list of preferred
technologies is read from main.conf (patch 02) and converted to service
types with a helper function (patch 04).
When a preferred service could go online or ready (patch 09), the current
service is compared against the previous default (patch 08). If the service
is found to be more preferred than the default online one, the order of these
services are switched (patch 06). Also, if neither service is preferred or
the online check failed for the new service, make a new autoconnect
attempt to find another preferred service that could go online (patch 09).
Two minor issues were also fixed (patches 01 and 03) and TODO updated
(patch 10).
Cheers,
Patrik
Patrik Flykt (10):
main: Free g_key_file config immediately after use
main: Add 'PreferredTechnologies' configuration file option
main: Consistently use semicolon as list separator
service: Add __connman_service_string2type() function
service: Create preferred technology list
service: Factor out code for switching two services
service: Try preferred technologies first, then normal autoconnect
service: Function for checking and updating service ordering
service: Update ordering regarding connected preferred service
TODO: Mark PreferredTechnologies (PriorityTechnologies) done
TODO | 11 ---
include/setting.h | 1 +
src/connman.h | 1 +
src/main.c | 30 ++++++--
src/service.c | 216 ++++++++++++++++++++++++++++++++++++++++++++---------
5 files changed, 206 insertions(+), 53 deletions(-)
I have questions about PreferredTechnologies(or am I correct?):
+ If PreferredTechnologies is empty, nothing changes.
+ PreferredTechnologies is used for both autoconnect and auto switching.
(example of autocnnect is autoconnect when system reboots)
+ For autoconnect, connman will connect service one by one and will stop
connect to other services if a service is connected.
+ For auto switching, connman will try to connect to a service if:
+ it's the new service of higher priority technology
+ Is it necessary that favorite and autoconnect of
the service must be true?
+ Anything else? (For example, connman fails to connect to an
higher priority WiFi service with weak signal, so then connected
to a 3G service. Later, the wifi service signal becomes strong
enough to connect)
+ "connected" in auto switching means that a service state is ready/online
+ If current connection is 'online', and connman finds a higher
priority service in state 'ready', what will happen?
Bests
Jeff
_______________________________________________
connman mailing list
connman@connman.net
http://lists.connman.net/listinfo/connman