lib

module
v0.1.20 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2024 License: BSD-3-Clause

README

linux macos windows CodeQL

This repository contains general purpose libraries created by and used by the [github.com/vanadium](Vanadium project). They do not depend on Vanadium and are more broadly useful.

  • Creating and managing command lines, flag definitions and variables.

    • cmdline - comprehensive support for multi-level command lines (as per git etc) including support for generating godoc output fully documenting the command via go generate.
    • cmd/linewrap - formats text with appropriate word wrapping.
    • cmd/flagvar - allows appropriately tagged fields in structs to be used as flag variables.
    • lookpath - utilities for finding executables given a search path (typically $PATH).
    • envvar - routines for managing environment variables.
  • Networking

    • host - utilities for accessing host information.
    • netconfig - provides the ability to monitor the underlying host for network changes and to read the OS route table. It is typically used by applications that need to monitor for IP address and routing changes in order to reconfigure themselves accordingly.
    • netstate - a comprehensive set of IPv4 and v6 aware functions for comparing a prior network state with the current one. This approach is the only way to reliably determine how a host's network configuration has changed.
  • Miscelleneous

    • metadata - provides a mechanism for setting and retrieving metadata stored in program binaries
    • nsync - mutex and condition variables that support cancelation.
    • toposort - a topoligcal sort implementation.
    • set - utility functions for manipulating sets of primitive type elements represented as maps
    • simplemr - a simple map reduce framework for use by single-process applications
    • textutil - utilities for handling human-readable tex
    • timing - utilities for tracking timing information
    • vlog - wraps the Google glog package to make it easier to configure and integrate with other command lines.
  • Security

    • ibe - provides identity-based encryption as per "Identity-Based Cryptosystems And Signature Schemes"
  • Testing

    • gosh - allows for running aribrary commands as subprocesses (and also as builtin functions). It is very useful for testing and also for running subproceeses in general since it takes care of managing all I/O and allows for 'tee-ing' of output etc.

Directories

Path Synopsis
cmd
flagvar
Package flagvar provides support for managing flag variables by embedding them in structs.
Package flagvar provides support for managing flag variables by embedding them in structs.
linewrap
Command linewrap formats text from stdin into pretty output on stdout.
Command linewrap formats text from stdin into pretty output on stdout.
Package cmdline implements a data-driven mechanism for writing command-line programs with built-in support for help.
Package cmdline implements a data-driven mechanism for writing command-line programs with built-in support for help.
gendoc
Usage of gendoc:
Usage of gendoc:
Package envvar implements utilities for processing environment variables.
Package envvar implements utilities for processing environment variables.
Package gosh provides facilities for running and managing processes: start them, wait for them to exit, capture their output streams, pipe messages between them, terminate them (e.g.
Package gosh provides facilities for running and managing processes: start them, wait for them to exit, capture their output streams, pipe messages between them, terminate them (e.g.
Package host implements utilities for describing the host platform.
Package host implements utilities for describing the host platform.
SA1019: Package golang.org/x/crypto/bn256 is deprecated: due to its weakened security, new systems should not rely on this elliptic curve.
SA1019: Package golang.org/x/crypto/bn256 is deprecated: due to its weakened security, new systems should not rely on this elliptic curve.
Package llog implements support for logging analogous to the Google-internal C++ INFO/ERROR/V setup.
Package llog implements support for logging analogous to the Google-internal C++ INFO/ERROR/V setup.
Package lookpath implements utilities to find executables.
Package lookpath implements utilities to find executables.
Package metadata implements a mechanism for setting and retrieving metadata stored in program binaries.
Package metadata implements a mechanism for setting and retrieving metadata stored in program binaries.
Package netconfig implements a network configuration watcher, or more accurately an interface to a network configuration watcher.
Package netconfig implements a network configuration watcher, or more accurately an interface to a network configuration watcher.
osnetconfig
Package osnetconfig provides OS specific routines for detecting network changes and reading the route table; it uses cgo to to do so on some systems.
Package osnetconfig provides OS specific routines for detecting network changes and reading the route table; it uses cgo to to do so on some systems.
route
Package route defines the types of the values returned by netconfig.GetIPRoutes.
Package route defines the types of the values returned by netconfig.GetIPRoutes.
Package netstate implements utilities for retrieving and filtering network interface state.
Package netstate implements utilities for retrieving and filtering network interface state.
The nsync package provides a mutex Mu and a Mesa-style condition variable CV.
The nsync package provides a mutex Mu and a Mesa-style condition variable CV.
Package set implements utility functions for manipulating sets of primitive type elements represented as maps.
Package set implements utility functions for manipulating sets of primitive type elements represented as maps.
Package simplemr provides a simple map reduce framework for use by commandline and other tools and consequently can only be used from within a single process.
Package simplemr provides a simple map reduce framework for use by commandline and other tools and consequently can only be used from within a single process.
Package textutil implements utilities for handling human-readable text.
Package textutil implements utilities for handling human-readable text.
Package timing implements utilities for tracking timing information.
Package timing implements utilities for tracking timing information.
Package toposort implements topological sort.
Package toposort implements topological sort.
Package vlog implements a general-purpose logging system.
Package vlog implements a general-purpose logging system.

Jump to

Keyboard shortcuts

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