mirror of
https://github.com/weaveworks/scope.git
synced 2026-04-20 17:37:44 +00:00
This will
Add:
- golang.org/x/time
upgrade:
- k8s.io/client-go v8.0.0
- k8s.io/api version to kubernetes-1.11.0
- k8s.io/apimachinery version to kubernetes-1.11.0
- github.com/json-iterator/go version to latest because `https://github.com/kubernetes/kubernetes/issues/64612`
delete:
- vendor/github.com/juju/ratelimit because k8s-client-go is shifted to golang.org/x/time
Please refer: acc52496ce
```
gvt delete k8s.io/client-go
gvt delete k8s.io/api
gvt delete k8s.io/apimachinery
gvt delete github.com/json-iterator/go
gvt delete github.com/juju/ratelimit
gvt fetch --no-recurse -tag v8.0.0 k8s.io/client-go
gvt fetch --no-recurse -tag kubernetes-1.11.0 k8s.io/api
gvt fetch --no-recurse -tag kubernetes-1.11.0 k8s.io/apimachinery
gvt fetch github.com/json-iterator/go
gvt fetch golang.org/x/time
```
fixes: #3284
Signed-off-by: Satyam Zode <satyamzode@gmail.com>
34 lines
642 B
Go
34 lines
642 B
Go
//+build !go1.9
|
|
|
|
package concurrent
|
|
|
|
import "sync"
|
|
|
|
// Map implements a thread safe map for go version below 1.9 using mutex
|
|
type Map struct {
|
|
lock sync.RWMutex
|
|
data map[interface{}]interface{}
|
|
}
|
|
|
|
// NewMap creates a thread safe map
|
|
func NewMap() *Map {
|
|
return &Map{
|
|
data: make(map[interface{}]interface{}, 32),
|
|
}
|
|
}
|
|
|
|
// Load is same as sync.Map Load
|
|
func (m *Map) Load(key interface{}) (elem interface{}, found bool) {
|
|
m.lock.RLock()
|
|
elem, found = m.data[key]
|
|
m.lock.RUnlock()
|
|
return
|
|
}
|
|
|
|
// Load is same as sync.Map Store
|
|
func (m *Map) Store(key interface{}, elem interface{}) {
|
|
m.lock.Lock()
|
|
m.data[key] = elem
|
|
m.lock.Unlock()
|
|
}
|