golib

module
Version: v1.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 7, 2021 License: Apache-2.0

README

golib

A set of Apache 2.0 licensed packages comprising common library needs like an LRU cache, immutable disk maps, mmap helpers, state machines, IPC, etc...

Usage is documented in individual godocs:

Directories

Path Synopsis
cache
lru
Package lru implements a Least Recently Used cache.
Package lru implements a Least Recently Used cache.
lru/tailor
tailor is a very simplistic program for replacing the key and value types in lru.go with concrete types that do not require any type of runtime reflection.
tailor is a very simplistic program for replacing the key and value types in lru.go with concrete types that do not require any type of runtime reflection.
development
autopool/blend
Package autopool provides a collection of sync.Pool(s) that holds values that are collected when they go out of scope vs.
Package autopool provides a collection of sync.Pool(s) that holds values that are collected when they go out of scope vs.
autopool/simple
Package autopool provides the ability to modify objects in a Pool so that they are automatically added back to the pool on GC.
Package autopool provides the ability to modify objects in a Pool so that they are automatically added back to the pool on GC.
cli/gopass
gopass is a library for getting hidden input from a terminal.
gopass is a library for getting hidden input from a terminal.
diskstack
Package diskstack implements a LIFO queue (known as a stack) on local disk.
Package diskstack implements a LIFO queue (known as a stack) on local disk.
diskstack2
Package diskstack2 implements a LIFO queue (known as a stack) on local disk.
Package diskstack2 implements a LIFO queue (known as a stack) on local disk.
distlock
Package distlock provides access to distributed locking mechanisms for the purpose of locking resources across a distributed system.
Package distlock provides access to distributed locking mechanisms for the purpose of locking resources across a distributed system.
http/server
Package server provides a webserver constructor.
Package server provides a webserver constructor.
http/server/registry
Package registry contains a registry of URL patterns to http.Handlers and a Register() method for registering a handler during init() in a module.
Package registry contains a registry of URL patterns to http.Handlers and a Register() method for registering a handler during init() in a module.
network/domainsockets
Package domainsockets implements an OS level procedure calling service based on the Unix Domain Sockets IPC.
Package domainsockets implements an OS level procedure calling service based on the Unix Domain Sockets IPC.
network/domainsockets/domainsockets
Package domainsockets prvoides for a unix domain socket server, similar to an RPC server like Grpc except that it is intended to only connect unix processes on the same device.
Package domainsockets prvoides for a unix domain socket server, similar to an RPC server like Grpc except that it is intended to only connect unix processes on the same device.
portpicker
Package portpicker provides an available TCP or UDP port to use in a service above port 1023.
Package portpicker provides an available TCP or UDP port to use in a service above port 1023.
stack
Package stack provides implementations that stacks in lower level libraries must implement.
Package stack provides implementations that stacks in lower level libraries must implement.
stack/diskstack
Package diskstack implements a LIFO queue (known as a stack) on local disk.
Package diskstack implements a LIFO queue (known as a stack) on local disk.
telemetry/streaming/river
Package river provides a streaming version of the Go standard library expvar.
Package river provides a streaming version of the Go standard library expvar.
telemetry/streaming/river/state/actions
Package actions provides boutique.Actions to signal modifications to the store.
Package actions provides boutique.Actions to signal modifications to the store.
telemetry/streaming/river/state/data
Package data provides state data for boutique stores.
Package data provides state data for boutique stores.
telemetry/streaming/river/state/modifiers
Package modifiers provides modifiers for all boutique.Store changes.
Package modifiers provides modifiers for all boutique.Store changes.
tree/redblack
Package redblack provides a library for using a redblack tree.
Package redblack provides a library for using a redblack tree.
Package diskmap provides disk storage of key/value pairs.
Package diskmap provides disk storage of key/value pairs.
Package diskslice provides an array of entries on disk that can be used without reading the list into memory.
Package diskslice provides an array of entries on disk that can be used without reading the list into memory.
Package filewatcher provides facilities for watching a file on a filesystem for changes..
Package filewatcher provides facilities for watching a file on a filesystem for changes..
ipc
uds
Package uds provides a server and client for Unix Domain Sockets.
Package uds provides a server and client for Unix Domain Sockets.
uds/highlevel/chunk
Package chunk provides a high level chunking client.
Package chunk provides a high level chunking client.
uds/highlevel/chunk/rpc
Package rpc provides an RPC service for non-specific []byte in and []byte out data.
Package rpc provides an RPC service for non-specific []byte in and []byte out data.
uds/highlevel/json/rpc
Package rpc provides a json RPC service.
Package rpc provides a json RPC service.
uds/highlevel/json/stream
Package json provides a client that can be used on a *uds.Client or *uds.Conn to send streaming JSON values.
Package json provides a client that can be used on a *uds.Client or *uds.Conn to send streaming JSON values.
uds/highlevel/proto/rpc
Package rpc provides a proto RPC service.
Package rpc provides a proto RPC service.
uds/highlevel/proto/stream
Package proto provides a client that can be used on a *uds.Client or *uds.Conn to send streaming binary proto values.
Package proto provides a client that can be used on a *uds.Client or *uds.Conn to send streaming binary proto values.
Package mmap exposes the Unix mmap calls with helper utilities.
Package mmap exposes the Unix mmap calls with helper utilities.
queue
fifo/unbounded
Package unbounded holds a non-blocking FIFO buffer (but not lockfree) that will grow and shrink to accomidate entries.
Package unbounded holds a non-blocking FIFO buffer (but not lockfree) that will grow and shrink to accomidate entries.
fifo/unbounded/experimental/unbounded/custom_sleep_atomic
Package custom_sleep_atomic holds a non-blocking circular buffer (but not lockfree) that will grow and shrink to size requirements.
Package custom_sleep_atomic holds a non-blocking circular buffer (but not lockfree) that will grow and shrink to size requirements.
Package signal provides a generic signaling package for communication between two goroutines for bilatteral communication.
Package signal provides a generic signaling package for communication between two goroutines for bilatteral communication.
Package statemachine provides a generalized state machine.
Package statemachine provides a generalized state machine.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL