1. 10 Aug, 2018 1 commit
  2. 27 Dec, 2017 1 commit
  3. 18 Jun, 2017 1 commit
    • Christian Hergert's avatar
      server: add handler convenience API · b2c27da8
      Christian Hergert authored
      Rather than requiring that all handlers be dispatched via connecting to
      the handle-call signal, this allows a simplier API to register handlers
      and remove them as necessary.
      
      To keep things simple, we just use a sorted GArray of handler data and
      bsearch to locate the proper handler upon dispatch. For jsonrpc, this
      is likely better than a tree of nodes that we parse parameters from
      because methods generally don't have parseable user data like a HTTP url
      might have.
      b2c27da8
  4. 03 Jun, 2017 1 commit
  5. 28 Nov, 2016 1 commit
    • Christian Hergert's avatar
      gvariant: use GVariant based public API · 9d4c5b4e
      Christian Hergert authored
      By switching to a GVariant based public API (similar to say, GDBus), we
      allow ourselves to implement an opitmization in the network layer. For
      example, when talking between two peers that are jsonrpc-glib based, we
      can upgrade the connection to application/gvariant instead of
      application/json. In doing so, we reduce our overhead for parsing peer
      content, allow ourselves to avoid parse checks in trusted situations, and
      lower the allocator overhead for small objects used by JsonNode trees.
      
      This means that when recieving large replies, consumers can lower memory
      fragmentation by using GVariant from point-to-point and lazily access the
      GVariant contents.
      9d4c5b4e
  6. 27 Nov, 2016 1 commit
  7. 01 Nov, 2016 2 commits