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

0ab6dc1 · Mar 4, 2025
Mar 4, 2025
Dec 23, 2024
Oct 20, 2024
Mar 23, 2023
Nov 19, 2024
Aug 2, 2024
Jan 25, 2024
Jul 24, 2024
Aug 13, 2023
Jun 20, 2024
Feb 25, 2024
Jul 27, 2024
Nov 21, 2024
Feb 28, 2025
Oct 29, 2024
Apr 8, 2024
Apr 24, 2023
Nov 21, 2024
Jan 25, 2024
Jan 6, 2025
Dec 2, 2022
Apr 1, 2023
Mar 23, 2024
Nov 19, 2024
Nov 19, 2024
Nov 13, 2024
Mar 4, 2025
Aug 3, 2023
Feb 20, 2023
Oct 9, 2023
Apr 15, 2024
Oct 15, 2024
Sep 19, 2024
May 30, 2023
Dec 23, 2024
Dec 23, 2024
Nov 23, 2022
Mar 23, 2024
Nov 21, 2024
Apr 29, 2024
Nov 19, 2024
Apr 23, 2024
Dec 3, 2023
Jan 2, 2025
Apr 23, 2024
Nov 21, 2024
Apr 29, 2024
Mar 4, 2025
Mar 4, 2025
Mar 4, 2025
Apr 29, 2024
Mar 4, 2025

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

Languages