Skip to content

Go data structures / utilities: backoff, broadcast, concurrent queue, fswatcher, keyed routine manager, linkedlist, promise, memoize, ccontainer, retry, refcount, commonprefix, padding, start/stop/restart goroutines, prng.

License

aperturerobotics/util

Repository files navigation

Utilities

GoDoc Widget Go Report Card Widget

Various utilities for Go and TypeScript including:

  • backoff: configurable backoff
  • broadcast: channel-based broadcast (similar to sync.Cond)
  • ccall: call a set of functions concurrently and wait for error or exit
  • ccontainer: concurrent container for objects
  • commonprefix: find common prefix between strings
  • cqueue: concurrent atomic queues (LIFO)
  • conc: concurrent processing queue
  • csync: sync primitives supporting context arguments
  • debounce-fswatcher: debounce fs watcher events
  • exec: wrapper around Go os exec
  • fsutil: utilities for os filesystem
  • iocloser: wrap reader/writer with a close function
  • iosizer: read/writer with metrics for size
  • keyed: key/value based routine management
  • linkedlist: linked list with head/tail
  • memo: memoize a function: call it once and remember results
  • padding: pad / unpad a byte array slice
  • prng: psuedorandom generator with seed
  • promise: promise mechanics for Go (like JS)
  • refcount: reference counter ccontainer
  • routine: start, stop, restart, reset a goroutine
  • scrub: zero a buffer after usage
  • unique: deduplicated list of items by key

License

MIT

About

Go data structures / utilities: backoff, broadcast, concurrent queue, fswatcher, keyed routine manager, linkedlist, promise, memoize, ccontainer, retry, refcount, commonprefix, padding, start/stop/restart goroutines, prng.

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •