From 22e78b68a30c280b558de12db7b44c556d8fe40b Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 21 Jul 2015 17:59:45 +0200 Subject: Go parallel --- main.go | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index eba02eb..ed2ec95 100644 --- a/main.go +++ b/main.go @@ -13,17 +13,6 @@ var ( name = flag.String("name", "dim13", "Bots Name") ) -func privmsg(conn *irc.Conn, line *irc.Line) { - if line.Public() && line.Nick != conn.Me().Nick { - Push(line) - Count(line.Nick) - } - Dispatch(conn, line) - ExtractLinks(conn, line) - ExtractRFC(conn, line) - DetectFlood(conn, line) -} - func init() { flag.Parse() } @@ -40,7 +29,17 @@ func main() { c.HandleFunc(irc.CONNECTED, func(conn *irc.Conn, line *irc.Line) { conn.Join(*room) }) - c.HandleFunc(irc.PRIVMSG, privmsg) + c.HandleFunc(irc.PRIVMSG, + func(conn *irc.Conn, line *irc.Line) { + if line.Public() && line.Nick != conn.Me().Nick { + Push(line) + Count(line.Nick) + } + go Dispatch(conn, line) + go ExtractLinks(conn, line) + go ExtractRFC(conn, line) + go DetectFlood(conn, line) + }) if err := c.ConnectTo(*server); err != nil { log.Fatal(err) -- cgit v1.2.3