Skip to content
Snippets Groups Projects
  1. Jun 29, 2020
  2. Jul 17, 2016
  3. Jun 28, 2016
    • Philip Withnall's avatar
      clients: Tidy up input validation a little · 081aa124
      Philip Withnall authored
      
      Validate zone paths and attribute names.
      
      Reviewed-by: default avatarSimon McVittie <simon.mcvittie@collabora.co.uk>
      Signed-off-by: default avatarPhilip Withnall <philip.withnall@collabora.co.uk>
      Differential Revision: https://phabricator.apertis.org/D3510
      081aa124
    • Philip Withnall's avatar
      librhosydd: Drop period parameters from rsd_subscription_new_wildcard() · 62cafe09
      Philip Withnall authored
      
      It does not make sense for a wildcard subscription to restrict its
      signal emissions by period — a period criterion can only apply to a
      single attribute, otherwise we can end up with pathological cases where
      one attribute is emitted often enough to cause rate limiting; and all
      other attributes are emitted rarely enough to be accidentally dropped on
      one of the attribute emissions which is rate limited. RsdSubscription is
      not set up to allow the emission rates for each attribute to be tracked
      individually, which is what’s needed to implement period criteria for
      wildcard attributes properly.
      
      Instead, acknowledge that if the client has chosen to use a wildcard,
      they aren’t particularly fussy about what attributes they receive, and
      just give them everything, with no period limiting.
      
      Reviewed-by: default avatarSimon McVittie <simon.mcvittie@collabora.co.uk>
      Signed-off-by: default avatarPhilip Withnall <philip.withnall@collabora.co.uk>
      Differential Revision: https://phabricator.apertis.org/D3509
      62cafe09
    • Philip Withnall's avatar
      librhosydd: Add the current time to each RsdVehicle getter · e532588b
      Philip Withnall authored
      
      Each vehicle has its own clock domain, which all timestamps for
      attributes from that vehicle are relative to. This means that the
      timestamps for two attributes from a given vehicle can be compared to
      see which was updated more recently (and how much more recently, in
      microseconds).
      
      However, there was previously no way to compare timestamps between
      vehicles, or to compare the timestamp for a given attribute to the
      current time. Given that the clock domain for a vehicle could differ
      arbitrarily from the system clock domain (g_get_monotonic_time()), this
      meant that clients could never work out how long ago (in system clock
      terms) an attribute was modified.
      
      Fix that by exposing the current time in the vehicle’s clock domain with
      the return value from each RsdVehicle getter which returns a property or
      property metadata. This allows each attribute in those results to be
      compared to the clock at the time of returning the results, to find out
      how old that attribute value is, in microseconds.
      
      This patch deliberately does not expose the current value of each
      vehicle’s clock domain as a value by itself (for example, as a
      get_current_time() method) as that would both tempt clients to poll it,
      and would introduce unavoidable race conditions between getting the
      current time and getting a set of attributes.
      
      This breaks a lot of API.
      
      The implementation in VddAggregateVehicle is worth paying attention to
      when reviewing, as it needs to aggregate attributes from multiple
      vehicles into a single aggregate vehicle. That means adjusting their
      last-updated times to be in a single aggregate clock domain. This is
      done by defining the aggregate clock domain to be g_get_monotonic_time()
      and tracking the difference between that and each of the source
      vehicles’ clocks with each value returned from those source vehicles.
      
      Reviewed-by: default avatarSimon McVittie <simon.mcvittie@collabora.co.uk>
      Signed-off-by: default avatarPhilip Withnall <philip.withnall@collabora.co.uk>
      Differential Revision: https://phabricator.apertis.org/D3407
      e532588b
  4. May 19, 2016
  5. May 18, 2016
  6. May 16, 2016
  7. May 12, 2016
  8. May 09, 2016
  9. Apr 20, 2016
  10. Apr 12, 2016
  11. Mar 23, 2016
  12. Mar 17, 2016
  13. Mar 16, 2016
  14. Mar 14, 2016
  15. Feb 25, 2016
Loading