Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/miolini/datacounter
Golang counters for readers/writers
https://github.com/miolini/datacounter
Last synced: about 2 months ago
JSON representation
Golang counters for readers/writers
- Host: GitHub
- URL: https://github.com/miolini/datacounter
- Owner: miolini
- License: mit
- Created: 2015-10-14T19:15:50.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-04-13T17:55:42.000Z (about 1 year ago)
- Last Synced: 2024-04-14T14:15:48.433Z (2 months ago)
- Language: Go
- Size: 20.5 KB
- Stars: 47
- Watchers: 3
- Forks: 9
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Uncategorized)
- awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Uncategorized)
- awesome-go-extra - datacounter - 10-14T19:15:50Z|2022-07-03T21:09:36Z| (Microsoft Office / Uncategorized)
- awesome-go-zh - datacounter
- awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Uncategorized)
- awesome-go-cn - datacounter
- awesome-go - datacounter - | - | - | (Miscellaneous / Strings)
- fucking-awesome-go - :octocat: datacounter - Go counters for readers/writer/http.ResponseWriter. :star: 4 :fork_and_knife: 0 (Miscellaneous / Advanced Console UIs)
- awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Uncategorized)
- awesome-go-projects - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Uncategorized)
- awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Uncategorized)
- awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Advanced Console UIs)
- awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Advanced Console UIs)
- awesome-go-with-framework - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Strings)
- awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Uncategorized)
- awesome-go-cn - datacounter
- zero-alloc-awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Uncategorized)
- awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Strings)
- awesome-go. - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Advanced Console UIs)
- awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. (<span id="其他-miscellaneous">其他 Miscellaneous</span> / <span id="高级控制台用户界面-advanced-console-uis">高级控制台用户界面 Advanced Console UIs</span>)
- awesome-go-cn - datacounter - Greaders/writer/HTTP.ResponseWriter 计数器 (杂项 / 高级控制台界面)
- awesome-go-with-stars - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Uncategorized)
- awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Uncategorized)
- repo-1316-awesome-go-cn - datacounter
- repo-1211-awesome-go-cn - datacounter
- awesome-Char - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Uncategorized)
- awesome-reader - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Strings)
- awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Strings)
- Go-awesome - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Uncategorized)
- go-awesome-cn-star - datacounter
- awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Advanced Console UIs)
- awesome-go-cn - datacounter
- awesome-go-stars - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Uncategorized)
- awesome-go-handwritten - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Advanced Console UIs)
- awesome-go - datacounter - Greaders/writer/HTTP.ResponseWriter 計數器 (雜項 / 高級控制台界面)
- awesome-go2 - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Advanced Console UIs)
- awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Uncategorized)
- awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. - :arrow_down:10 - :star:12 (Miscellaneous / Strings)
- awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Uncategorized)
- awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Advanced Console UIs)
- awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Uncategorized)
- awesome-go-zh - datacounter
- awesome-go-cn - datacounter
- awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Uncategorized)
- awesome-go - datacounter - Go counters for readers/writer/http.ResponseWriter. (Miscellaneous / Uncategorized)
- awesome-go-cn - datacounter
- awesome-go - datacounter - Golang counters for readers/writers - ★ 25 (Miscellaneous)
README
# Datacounter
Golang counters for readers/writers.
[![Build Status](https://travis-ci.org/miolini/datacounter.svg)](https://travis-ci.org/miolini/datacounter) [![GoDoc](https://godoc.org/github.com/miolini/datacounter?status.svg)](http://godoc.org/github.com/miolini/datacounter)
## Examples
### ReaderCounter
```go
buf := bytes.Buffer{}
buf.Write(data)
counter := datacounter.NewReaderCounter(&buf)io.Copy(ioutil.Discard, counter)
if counter.Count() != dataLen {
t.Fatalf("count mismatch len of test data: %d != %d", counter.Count(), len(data))
}
```### WriterCounter
```go
buf := bytes.Buffer{}
counter := datacounter.NewWriterCounter(&buf)counter.Write(data)
if counter.Count() != dataLen {
t.Fatalf("count mismatch len of test data: %d != %d", counter.Count(), len(data))
}
```### http.ResponseWriter Counter
```go
handler := func(w http.ResponseWriter, r *http.Request) {
w.Write(data)
}req, err := http.NewRequest("GET", "http://example.com/foo", nil)
if err != nil {
t.Fatal(err)
}w := httptest.NewRecorder()
counter := datacounter.NewResponseWriterCounter(w)handler(counter, req)
if counter.Count() != dataLen {
t.Fatalf("count mismatch len of test data: %d != %d", counter.Count(), len(data))
}
```