summaryrefslogtreecommitdiff
path: root/rate.go
diff options
context:
space:
mode:
Diffstat (limited to 'rate.go')
-rw-r--r--rate.go42
1 files changed, 0 insertions, 42 deletions
diff --git a/rate.go b/rate.go
deleted file mode 100644
index 0ab03ac..0000000
--- a/rate.go
+++ /dev/null
@@ -1,42 +0,0 @@
-package main
-
-import (
- "log"
- "sync"
- "time"
-)
-
-// TODO rate limiting
-
-type WatchList struct {
- sync.Mutex
- n int
- d time.Duration
- list map[string]int
-}
-
-func NewWatchList(n int, d time.Duration) WatchList {
- return WatchList{n: n, d: d, list: make(map[string]int)}
-}
-
-func (w WatchList) Add(kick chan string, nick string) {
- w.Lock()
- defer w.Unlock()
-
- if _, ok := w.list[nick]; !ok {
- go func() {
- <-time.After(w.d)
- w.Lock()
- defer w.Unlock()
- log.Println(w.list[nick], "clear", nick)
- delete(w.list, nick)
- }()
- }
-
- log.Println(w.list[nick], "hit", nick)
- if w.list[nick] > w.n {
- kick <- nick
- }
-
- w.list[nick]++
-}