- 29 Aug, 2018 2 commits
-
-
Geoff Simmons authored
-
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.
-
- 26 Aug, 2018 4 commits
-
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
- 25 Aug, 2018 1 commit
-
-
Geoff Simmons authored
-
- 24 Aug, 2018 4 commits
-
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
- 21 Aug, 2018 6 commits
-
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
Use an atomically incremented uint64 as the key for global maps. Random key and sync.Maps are no longer necessary.
-
Geoff Simmons authored
-
Geoff Simmons authored
No longer starting a goroutine -- users decide if they want one. Native reads are locked per Log object, since they are not safe for concurrency with the same native handles. The global callback map is keyed with an atomically incremented uint64.
-
- 20 Aug, 2018 12 commits
-
-
Geoff Simmons authored
The VSM handle is exported as a field in struct VSM, for internal use only.
-
Geoff Simmons authored
Names and descriptions are stored per object, no need to sync on the global map after Attach.
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
Attach() takes one argument for the instance, default for "", otherwise the named instance. Remove AttachInstance() and the progress argument.
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
- 19 Aug, 2018 8 commits
-
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
- 18 Aug, 2018 3 commits
-
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-