123456789101112131415161718192021222324252627282930313233 |
- package cache
- import (
- "sync"
- "github.com/710leo/urlooker/dataobj"
- )
- type SafeEventMap struct {
- sync.RWMutex
- M map[string]*dataobj.Event
- }
- var LastEvents = &SafeEventMap{M: make(map[string]*dataobj.Event)}
- func (this *SafeEventMap) Get(key string) (*dataobj.Event, bool) {
- this.RLock()
- defer this.RUnlock()
- event, exists := this.M[key]
- return event, exists
- }
- func (this *SafeEventMap) Set(key string, event *dataobj.Event) {
- this.Lock()
- defer this.Unlock()
- this.M[key] = event
- }
- func (this *SafeEventMap) Len() int {
- this.RLock()
- defer this.RUnlock()
- return len(this.M)
- }
|