summaryrefslogtreecommitdiff
path: root/rate.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <ds@doozer.de>2017-03-06 11:14:21 +0100
committerDimitri Sokolyuk <ds@doozer.de>2017-03-06 11:14:21 +0100
commit01d5301e77b4054223d21289a17ace48539cbeb6 (patch)
treeba7e18b7ca9c513b82eb2b94e40a2dcda9dfe263 /rate.go
parent64f84d0b79ef09b1d6f7f8cc94f9108bdcdb2ae0 (diff)
Drop watchlist
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]++
-}