1. 29 Aug, 2018 3 commits
    • Geoff Simmons's avatar
      Record payloads are byte slices. · 8568e930
      Geoff Simmons authored
      8568e930
    • Geoff Simmons's avatar
      Miscellaneous doc fixes. · 8713019a
      Geoff Simmons authored
      8713019a
    • Geoff Simmons's avatar
      Comprehensive refactoring of the Log package, adding Cursor and Query. · 7147cd55
      Geoff Simmons authored
      VSLQ_Dispatch() is a powerful tool for the C API, but the restrictions
      and overhead involved with the C/Go bridge make it too unwieldy to use.
      Too much synchronization becomes necessary for a low-level API like
      this. The cgocall overhead becomes excessive.
      
      It seems to be difficult, perhaps impossible, to implement callbacks
      without creating many objects on the Go heap. Since many objects from
      the log are created in hot code, this puts excessive pressure on the
      Go garbage collector.
      
      This version uses low-level log read operations, excusively VSL_Next()
      and related functions. The C/Go bridge is much smaller and simpler. It
      should be possible to create the objects for log data on the Go stack.
      
      The Cursor and Query interfaces reflect the underlying VSL interface
      more faithfully. Distinct Cursors are safe for concurrent reads (as
      for struct VSL_cursor from the VSL interface).
      
      This means that grouping and VSL queries will have to re-implemented
      in Go.
      7147cd55
  2. 26 Aug, 2018 4 commits
  3. 25 Aug, 2018 1 commit
  4. 24 Aug, 2018 4 commits
  5. 21 Aug, 2018 6 commits
  6. 20 Aug, 2018 12 commits
  7. 19 Aug, 2018 8 commits
  8. 18 Aug, 2018 2 commits