diff options
Diffstat (limited to 'vendor/github.com/zfjagann')
-rw-r--r-- | vendor/github.com/zfjagann/golang-ring/.gitignore | 24 | ||||
-rw-r--r-- | vendor/github.com/zfjagann/golang-ring/README.md | 76 | ||||
-rw-r--r-- | vendor/github.com/zfjagann/golang-ring/makefile | 10 |
3 files changed, 110 insertions, 0 deletions
diff --git a/vendor/github.com/zfjagann/golang-ring/.gitignore b/vendor/github.com/zfjagann/golang-ring/.gitignore new file mode 100644 index 00000000..daf913b1 --- /dev/null +++ b/vendor/github.com/zfjagann/golang-ring/.gitignore @@ -0,0 +1,24 @@ +# Compiled Object files, Static and Dynamic libs (Shared Objects) +*.o +*.a +*.so + +# Folders +_obj +_test + +# Architecture specific extensions/prefixes +*.[568vq] +[568vq].out + +*.cgo1.go +*.cgo2.c +_cgo_defun.c +_cgo_gotypes.go +_cgo_export.* + +_testmain.go + +*.exe +*.test +*.prof diff --git a/vendor/github.com/zfjagann/golang-ring/README.md b/vendor/github.com/zfjagann/golang-ring/README.md new file mode 100644 index 00000000..1da6cf73 --- /dev/null +++ b/vendor/github.com/zfjagann/golang-ring/README.md @@ -0,0 +1,76 @@ +# ring + +[![GoDoc](https://godoc.org/github.com/zfjagann/golang-ring?status.svg)](https://godoc.org/github.com/zfjagann/golang-ring) + +-- + import "github.com/zfjagann/golang-ring" + +Package ring provides a simple implementation of a ring buffer. + +## Usage + +```go +var DefaultCapacity int = 10 +``` +The DefaultCapacity of an uninitialized Ring buffer. + +Changing this value only affects ring buffers created after it is changed. + +#### type Ring + +```go +type Ring struct { +} +``` + +Type Ring implements a Circular Buffer. The default value of the Ring struct is +a valid (empty) Ring buffer with capacity DefaultCapacify. + +#### func (Ring) Capacity + +```go +func (r Ring) Capacity() int +``` +Capacity returns the current capacity of the ring buffer. + +#### func (*Ring) Dequeue + +```go +func (r *Ring) Dequeue() interface{} +``` +Dequeue a value from the Ring buffer. + +Returns nil if the ring buffer is empty. + +#### func (*Ring) Enqueue + +```go +func (r *Ring) Enqueue(i interface{}) +``` +Enqueue a value into the Ring buffer. + +#### func (*Ring) Peek + +```go +func (r *Ring) Peek() interface{} +``` +Read the value that Dequeue would have dequeued without actually dequeuing it. + +Returns nil if the ring buffer is empty. + +#### func (*Ring) SetCapacity + +```go +func (r *Ring) SetCapacity(size int) +``` +Set the maximum size of the ring buffer. + +#### func (*Ring) Values + +```go +func (r *Ring) Values() []interface{} +``` +Values returns a slice of all the values in the circular buffer without +modifying them at all. The returned slice can be modified independently of the +circular buffer. However, the values inside the slice are shared between the +slice and circular buffer. diff --git a/vendor/github.com/zfjagann/golang-ring/makefile b/vendor/github.com/zfjagann/golang-ring/makefile new file mode 100644 index 00000000..48a57357 --- /dev/null +++ b/vendor/github.com/zfjagann/golang-ring/makefile @@ -0,0 +1,10 @@ +.PHONY: ring test doc + +ring: test doc + +test: + go fmt + go test -v + +doc: + godocdown > README.md |