From: Patrik Flykt <[email protected]>

      Hi,

For version 2 of this set there are two additions. Patch 08 removes the
disabling of autoconnect when session mode is enabled. Patch 09 changes
the SessionMode property setting to be instant, it no longer waits for idle
state to happen when enabling SessionMode. The removal of disconnection of
all services is moved here from patch 07.

With these modifications session unit tests work until they get to the
explicit disconnection test; that and the explicitely connecting feature
will no longer be the expected behavior for sessions.

--

Here is a patch set that uses the existing autoconnect mechanism when
connecting sessions. With two or more sessions having conflicting interests
on the technologies to connect and especially where the default route is to
be set, are now handled with the autoconnection code. The proposed patches
also take into account PreferredTechnologies and avoids redoing service
selection computation in session.c. The latter service selection code
removal is left for another patch set to keep this one as clear as
possible.

The patches that touch session.c were built on top of Daniel Wagner's
"[PATCH v3 00/14] Policy IVI Plugin (part 1)".

Patch 01 adds a function to keep track of how many sessions are interested
in which technology. In this patch there also is a technology powered
variable that will be updated to a proper value with patches 05 and 06.

The meat of patch 02 is to check which technology type is in use by
sessions and filter out the service under autoconnection accordingly. If
none of the services requested by the sessions can be autoconnected,
another autoconnection pass with session support turned off needs to be
run. If no sessions are used, the first pass already degenrates to the
normal autoconnection case so the autoconnection procedure will be as
efficient as before. Unfortunately all of this leads to some code
factorization and shuffling around.

The session counting code in the autoconnect part also needs to be updated
on the technology powered status. This is made possible with patches 04,
05 and 06.

The session code informs service autoconnection about beares used with
patch 03. The service connection and disconnection is then replaced by a
call to autoconnect in patch 07.

After all these changes it should be possible to remove all service
sorting from session.c.

Please review,

       Patrik


Patrik Flykt (9):
  service: Add function for updating service types used by sessions
  service: Add mechanism to filter by session technology types
  session: Inform which bearers are in use by sessions
  notifier: Add technology powered notifier function
  service: Set up technology powered notifier
  technology: Call technology powered notification function
  session: Let autoconnect handle service connecting
  service: Auto connection is unaffected by SessionMode
  manager: Setting SessionMode must not disconnect all services

 doc/manager-api.txt |    6 +--
 include/notifier.h  |    2 +
 src/connman.h       |    3 ++
 src/manager.c       |   24 ----------
 src/notifier.c      |   15 ++++++
 src/service.c       |  132 +++++++++++++++++++++++++++++++++++++++++++++------
 src/session.c       |   26 +++++-----
 src/technology.c    |    2 +
 8 files changed, 157 insertions(+), 53 deletions(-)

-- 
1.7.10.4

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to