- Timestamp:
- Feb 6, 2020, 4:04:49 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/upstream.go
r14 r16 11 11 12 12 const ( 13 rpl_localusers = "265"13 rpl_localusers = "265" 14 14 rpl_globalusers = "266" 15 15 ) 16 16 17 17 type upstreamConn struct { 18 net net.Conn 19 irc *irc.Conn 20 srv *Server 18 upstream *Upstream 19 net net.Conn 20 irc *irc.Conn 21 srv *Server 21 22 registered bool 23 24 serverName string 25 availableUserModes string 26 availableChannelModes string 27 channelModesWithParam string 22 28 } 23 29 … … 32 38 case irc.RPL_WELCOME: 33 39 c.registered = true 34 case irc.RPL_YOURHOST, irc.RPL_CREATED, irc.RPL_MYINFO: 40 c.srv.Logger.Printf("Connection to %q registered", c.upstream.Addr) 41 case irc.RPL_MYINFO: 42 if len(msg.Params) < 5 { 43 return newNeedMoreParamsError(msg.Command) 44 } 45 c.serverName = msg.Params[1] 46 c.availableUserModes = msg.Params[3] 47 c.availableChannelModes = msg.Params[4] 48 if len(msg.Params) > 5 { 49 c.channelModesWithParam = msg.Params[5] 50 } 51 case irc.RPL_YOURHOST, irc.RPL_CREATED: 35 52 // Ignore 36 53 case irc.RPL_LUSERCLIENT, irc.RPL_LUSEROP, irc.RPL_LUSERUNKNOWN, irc.RPL_LUSERCHANNELS, irc.RPL_LUSERME: … … 56 73 } 57 74 58 c := upstreamConn{net: netConn, irc: irc.NewConn(netConn), srv: s} 75 c := upstreamConn{ 76 upstream: upstream, 77 net: netConn, 78 irc: irc.NewConn(netConn), 79 srv: s, 80 } 59 81 defer netConn.Close() 60 82 … … 84 106 85 107 if err := c.handleMessage(msg); err != nil { 86 return err108 c.srv.Logger.Printf("Failed to handle message %q from %q: %v", msg, upstream.Addr, err) 87 109 } 88 110 }
Note:
See TracChangeset
for help on using the changeset viewer.