Merge lp://staging/~thomas-voss/location-service/robustify-event-propagation-in-case-of-multiple-providers-running into lp://staging/location-service/15.04

Proposed by Thomas Voß
Status: Needs review
Proposed branch: lp://staging/~thomas-voss/location-service/robustify-event-propagation-in-case-of-multiple-providers-running
Merge into: lp://staging/location-service/15.04
Diff against target: 671 lines (+513/-51)
5 files modified
src/location_service/com/ubuntu/location/CMakeLists.txt (+1/-0)
src/location_service/com/ubuntu/location/dispatching_provider.cpp (+325/-0)
src/location_service/com/ubuntu/location/dispatching_provider.h (+90/-0)
src/location_service/com/ubuntu/location/service/daemon.cpp (+91/-41)
tests/acceptance_tests.cpp (+6/-10)
To merge this branch: bzr merge lp://staging/~thomas-voss/location-service/robustify-event-propagation-in-case-of-multiple-providers-running
Reviewer Review Type Date Requested Status
Alberto Mardegan (community) Approve
Loïc Minier Pending
PS Jenkins bot continuous-integration Pending
Review via email: mp+277789@code.staging.launchpad.net

This proposal supersedes a proposal from 2014-10-16.

Commit message

Introduce a dispatching provider that leverages a functor to hand over updates and invocations to/from providers.
Adjust acceptance tests to account for multiple providers.

Description of the change

Introduce a dispatching provider that leverages a functor to hand over updates and invocations to/from providers.
Adjust acceptance tests to account for multiple providers.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal
review: Approve (continuous-integration)
Revision history for this message
Loïc Minier (lool) wrote : Posted in a previous version of this proposal

LGTM

review: Approve
131. By Thomas Voß

[ Alberto Mardegan ]
* Make sure that injected time is given in milliseconds
[ Thomas Voß ]
* Cherry-pick rev. 196 and 199 from lp:location-service. The changes
  got accidentally removed by merging the outstanding documentation
  branch.
* Handle responses of clients to updates asynchronously. Rely on
  dummy::ConnectivityManager as harvesting is disabled anyway. (LP:
  #1462664, #1387643)
[ Thomas Voß ]
* Add documentation for debugging, hacking and debugging the location
  service. Pull manual testing instructions over from the wiki. Add
  tools for formatting the source.
[ thomas-voss ]
* Add documentation for debugging, hacking and debugging the location
  service. Pull manual testing instructions over from the wiki. Add
  tools for formatting the source.
[ CI Train Bot ]
* New rebuild forced.
[ Manuel de la Pena ]
* Make sure that cached modems are considered as well when calculating
  connection characteristics.
[ CI Train Bot ]
* New rebuild forced.
[ Manuel de la Pena ]
* Improve the selection of the bag of providers to ensure that the
  locations used are within a reasonable time margin.
* Remove the pimpl implementation from the providers and hide their
  public headers because they should only be used within the project.
[ Thomas Voß ]
* Increase default timeout for downloading gps xtra data. (LP:
  #1447161)
[ CI Train Bot ]
* New rebuild forced.
[ Manuel de la Pena ]
* If an exception is thrown from the io_executor run method it must be
  caught, logger and continued with the main loop.
[ CI Train Bot ]
* Launchpad automatic translations update. added: po/af.po po/bg.po
  po/sk.po
* New rebuild forced.
[ thomas-voss ]
* Account for dbus interface breakage in NM from 0.9.8.8 -> 0.9.10.0.
[ thomas-voss ]
* Automatically clean up session store for dead clients. (LP:
  #1418033)
[ thomas-voss ]
* Make the remote::Provider::Stub fail loudly on construction if the
  other side is not reachable. Relax the exception in
  location::Daemon::main and do not exit if instantiating a provider
  fails. (LP: #1414591)
[ CI Train Bot ]
* Resync trunk
[ thomas-voss ]
* Add an interface for querying settings by key. Add an implementation
  leveraging boost::property_tree to provide settings. (LP: #1362765)
* Allow for enabling/disabling providers. Wire up engine state changes
  to enabling/disabling of providers. (LP: #1392399)
[ thomas-voss ]
* Print details about visible space vehicles to the gps provider test
  case. (LP: #1408984)
[ thomas-voss ]
* Fix #1394204 by: (LP: #1394204)
[ Ubuntu daily release ]
* New rebuild forced
[ thomas-voss ]
* Make sure that devices being added/removed by NetworkManager are
  handled correctly. (LP: #1390490)
[ CI bot ]
* Resync trunk
[ Kevin DuBois ]
* The headers shipped in libubuntu-location-service-dev contain
  includes that are provided in the libboost-dev package (specifically
  headers like boost/units/cmath.hpp). Make the dev package depend on
  libboost-dev so the downstreams get what they need to compile
  against the libubuntu-location-service-dev headers
* New rebuild forced
[ thomas-voss ]
* Bump build dependency.
* Disconnect event connections for bag of providers. (LP: #1387572)
[ thomas-voss ]
* Prevent multiple invocations of start positioning on android GPS HAL
  to prevent buggy HAL implementations from blocking. Allow for
  decorated provider names to enable moving providers OOP. (LP:
  #1382501)

132. By Thomas Voß

Revert accidental change to debian/source/format.

Revision history for this message
Alberto Mardegan (mardy) wrote :

The code looks good to me, but I feel that this makes the logic even more complicated.

I would much rather force all providers to be out of process. This would lead to a simpler design, and might also make it possible to free some memory when the GPS is not in use.

I'm approving this because code-wise it's fine, but if it were for me, I would not merge it.

review: Approve
133. By Thomas Voß

Explicitly stop bus instances on shut down.

Revision history for this message
Michał Karnicki (karni) wrote :

Was browsing this out of curiosity and to learn. Tiny comment - the license headers should probably contain 2015?

Unmerged revisions

133. By Thomas Voß

Explicitly stop bus instances on shut down.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches