From 01d5301e77b4054223d21289a17ace48539cbeb6 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Mon, 6 Mar 2017 11:14:21 +0100 Subject: Drop watchlist --- rate.go | 42 ------------------------------------------ 1 file changed, 42 deletions(-) delete mode 100644 rate.go (limited to 'rate.go') 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]++ -} -- cgit v1.2.3