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 DeepWiki 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