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

Notifications You must be signed in to change notification settings

aperturerobotics/util

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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
  • conc: concurrent processing queue
  • cqueue: concurrent atomic queues (LIFO)
  • csync: sync primitives supporting context arguments
  • debounce-fswatcher: debounce fs watcher events
  • [enabled]: three-way boolean proto enum
  • exec: wrapper around Go os exec
  • fsutil: utilities for os filesystem
  • [gitroot]: git repository root finder
  • httplog/fetch: JS Fetch API wrapper with logging for WASM
  • httplog: HTTP request and response logging utilities
  • iocloser: wrap reader/writer with a close function
  • iowriter: io.Writer implementation with callback function
  • iosizer: read/writer with metrics for size
  • js/fetch: Fetch API wrapper for WASM
  • js/readable-stream: ReadableStream wrapper for WASM
  • 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

  •  
  •  
  •  
  •  

Languages