1- # go-ringbuf
1+ # go-ringbuf [ V2 ]
22
33![ Go] ( https://github.com/hedzr/go-ringbuf/workflows/Go/badge.svg )
44[ ![ GitHub tag (latest SemVer)] ( https://img.shields.io/github/tag/hedzr/go-ringbuf.svg?label=release )] ( https://github.com/hedzr/go-ringbuf/releases )
@@ -19,11 +19,14 @@ MPMC (multiple-producers and multiple consumers) enabled.
1919
2020## History
2121
22- WIP:
23- - english documentation not completed yet
24- - documentation at: https:
22+ ### v2.0.0 @20220408 - go 1.18+
2523
26- ### v1.0.0
24+ generic version for MPMC Ring Buffer.
25+
26+ - rewritten with go generics
27+
28+
29+ ### v1.0.0 @20220408
2730
2831Last release for classical version.
2932
@@ -42,29 +45,45 @@ Next release (v2) will move to go 1.18+ with generic enabled.
4245## Getting Start
4346
4447``` bash
45- go get -v github.com/hedzr/go-ringbuf
48+ go get -v github.com/hedzr/go-ringbuf/v2
4649```
4750
48- ### Import
51+
52+ ### Samples
4953
5054``` go
51- import " github.com/hedzr/go-ringbuf/fast"
52- ```
55+ package main
5356
57+ import (
58+ " fmt"
59+ " github.com/hedzr/go-ringbuf/v2"
60+ " log"
61+ )
5462
63+ func main () {
64+ testIntRB ()
65+ testStringRB ()
66+ }
5567
56- ### Simple 1
68+ func testStringRB () {
69+ var err error
70+ var rb = ringbuf.New [string ](80 )
71+ err = rb.Enqueue (" abcde" )
72+ errChk (err)
5773
58- ``` go
59- import " github.com/hedzr/go-ringbuf/fast"
74+ var item string
75+ item, err = rb.Dequeue ()
76+ errChk (err)
77+ fmt.Printf (" dequeue ok: %v \n " , item)
78+ }
6079
61- func main () {
80+ func testIntRB () {
6281 var err error
63- var rb = fast .New (80 )
82+ var rb = ringbuf .New [ int ] (80 )
6483 err = rb.Enqueue (3 )
6584 errChk (err)
66-
67- var item interface {}
85+
86+ var item int
6887 item, err = rb.Dequeue ()
6988 errChk (err)
7089 fmt.Printf (" dequeue ok: %v \n " , item)
@@ -81,6 +100,8 @@ func errChk(err error) {
81100
82101### Using Ring-Buffer as a fixed resource pool
83102
103+ The following codes is for v1, needed for rewriting
104+
84105``` go
85106func newRes () *Res {...}
86107
@@ -129,7 +150,8 @@ Welcome
129150
130151## LICENSE
131152
132- MIT
153+ Apache 2.0
133154
134-
135- [ ![ FOSSA Status] ( https://app.fossa.com/api/projects/git%2Bgithub.com%2Fhedzr%2Fgo-ringbuf.svg?type=large )] ( https://app.fossa.com/projects/git%2Bgithub.com%2Fhedzr%2Fgo-ringbuf?ref=badge_large )
155+ <!--
156+ [](https://app.fossa.com/projects/git%2Bgithub.com%2Fhedzr%2Fgo-ringbuf?ref=badge_large)
157+ -->
0 commit comments