Skip to content
Snippets Groups Projects
Select Git revision
7 results

goarista

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Benoit Sigoure authored
    Change-Id: I9693718eb5508ae615eace20710268d8078a871e
    f05ddf67
    History

    Arista Go library Build Status codecov.io GoDoc Go Report Card

    areflect

    Helper functions to work with the reflect package. Contains ForceExport(), which bypasses the check in reflect.Value that prevents accessing unexported attributes.

    monotime

    Provides access to a fast monotonic clock source, to fill in the gap in the Go standard library, which lacks one. Don't use time.Now() in code that needs to time things or otherwise assume that time passes at a constant rate, instead use monotime.Now().

    cmd

    See the cmd directory.

    dscp

    Provides ListenTCPWithTOS(), which is a replacement for net.ListenTCP() that allows specifying the ToS (Type of Service), to specify DSCP / ECN / class of service flags to use for incoming connections. Requires go1.9.

    key

    Provides a common type used across various Arista projects, named key.Key, which is used to work around the fact that Go can't let one use a non-hashable type as a key to a map, and we sometimes need to use a map[string]interface{} (or something containing one) as a key to maps. As a result, we frequently use map[key.Key]interface{} instead of just map[interface{}]interface{} when we need a generic key-value collection.

    path

    Provides a common type used across various Arista projects, named path.Path, which is the representation of a path broken down into individual elements. Each element is a key.Key. The type path.Map may be used for mapping paths to values. It allows for some fuzzy matching.

    lanz

    A client for LANZ streaming servers. It connects to a LANZ streaming server, listens for notifications, decodes them and sends the LANZ protobuf on the provided channel.

    monitor

    A library to help expose monitoring metrics on top of the expvar infrastructure.

    netns

    netns.Do(namespace, cb) provides a handy mechanism to execute the given callback cb in the given network namespace.

    pathmap

    DEPRECATED; usepath.Map instead.

    test

    This is a Go library to help in writing unit tests.

    Examples

    TBD