Skip to content
  • Christian Hergert's avatar
    jsonrpc: port jsonrpc to use GVariant instead of JsonNode · 1e0f59e4
    Christian Hergert authored
    By switching all of this API to use GVariant, we allow ourselves to be
    able to upgrade the connection to something more efficient than Json.
    
    The problem with Json is that it requires creating a great deal of small
    objects at parse time which can drastically fragment memory. For example,
    if we get 1000 auto-completion items from a worker, we would like to be
    able to keep all of those results in a single contiguous buffer and access
    them (and their string data) by pointing into the buffer.
    
    Doing so will allow us to make our completion engine much lighter weight,
    with the exception of GtkSourceView's requirement on GList+GObjects being
    pre-inflated. (Although we'll likely switch to our own completion system
    at some point in the future to work around all this and get other desired
    features).
    1e0f59e4