open-nomad/vendor/github.com/armon/circbuf
Seth Hoenig 435c0d9fc8 deps: Switch to Go modules for dependency management
This PR switches the Nomad repository from using govendor to Go modules
for managing dependencies. Aspects of the Nomad workflow remain pretty
much the same. The usual Makefile targets should continue to work as
they always did. The API submodule simply defers to the parent Nomad
version on the repository, keeping the semantics of API versioning that
currently exists.
2020-06-02 14:30:36 -05:00
..
.gitignore deps: Switch to Go modules for dependency management 2020-06-02 14:30:36 -05:00
circbuf.go
LICENSE deps: Switch to Go modules for dependency management 2020-06-02 14:30:36 -05:00
README.md

circbuf

This repository provides the circbuf package. This provides a Buffer object which is a circular (or ring) buffer. It has a fixed size, but can be written to infinitely. Only the last size bytes are ever retained. The buffer implements the io.Writer interface.

Documentation

Full documentation can be found on Godoc

Usage

The circbuf package is very easy to use:

buf, _ := NewBuffer(6)
buf.Write([]byte("hello world"))

if string(buf.Bytes()) != " world" {
    panic("should only have last 6 bytes!")
}