github.com/macb/etcd@v0.3.1-0.20140227003422-a60481c6b1a0/store/event_queue.go (about) 1 package store 2 3 type eventQueue struct { 4 Events []*Event 5 Size int 6 Front int 7 Back int 8 Capacity int 9 } 10 11 func (eq *eventQueue) insert(e *Event) { 12 eq.Events[eq.Back] = e 13 eq.Back = (eq.Back + 1) % eq.Capacity 14 15 if eq.Size == eq.Capacity { //dequeue 16 eq.Front = (eq.Front + 1) % eq.Capacity 17 } else { 18 eq.Size++ 19 } 20 }