From dbeba1e5c5c0bc534a515eb298ee4f1d49df4d20 Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Fri, 5 Oct 2018 10:06:54 -0700 Subject: update vendor --- .../github.com/streamrail/concurrent-map/README.md | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 vendor/github.com/streamrail/concurrent-map/README.md (limited to 'vendor/github.com/streamrail/concurrent-map/README.md') diff --git a/vendor/github.com/streamrail/concurrent-map/README.md b/vendor/github.com/streamrail/concurrent-map/README.md new file mode 100644 index 0000000..e6b4839 --- /dev/null +++ b/vendor/github.com/streamrail/concurrent-map/README.md @@ -0,0 +1,53 @@ +# concurrent map [![Circle CI](https://circleci.com/gh/streamrail/concurrent-map.png?style=badge)](https://circleci.com/gh/streamrail/concurrent-map) + +As explained [here](http://golang.org/doc/faq#atomic_maps) and [here](http://blog.golang.org/go-maps-in-action), the `map` type in Go doesn't support concurrent reads and writes. `concurrent-map` provides a high-performance solution to this by sharding the map with minimal time spent waiting for locks. + +## usage + +Import the package: + +```go +import ( + "github.com/streamrail/concurrent-map" +) + +``` + +```bash +go get "github.com/streamrail/concurrent-map" +``` + +The package is now imported under the "cmap" namespace. + +## example + +```go + + // Create a new map. + map := cmap.New() + + // Sets item within map, sets "bar" under key "foo" + map.Set("foo", "bar") + + // Retrieve item from map. + if tmp, ok := map.Get("foo"); ok { + bar := tmp.(string) + } + + // Removes item under key "foo" + map.Remove("foo") + +``` + +For more examples have a look at concurrent_map_test.go. + + +Running tests: + +```bash +go test "github.com/streamrail/concurrent-map" +``` + + +## license +MIT (see [LICENSE](https://github.com/streamrail/concurrent-map/blob/master/LICENSE) file) -- cgit v1.2.3