Changeset 56 in code
- Timestamp:
- Feb 17, 2020, 11:41:27 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/downstream.go
r55 r56 45 45 srv *Server 46 46 logger Logger 47 messages chan <-*irc.Message47 messages chan *irc.Message 48 48 49 49 registered bool … … 56 56 57 57 func newDownstreamConn(srv *Server, netConn net.Conn) *downstreamConn { 58 msgs := make(chan *irc.Message, 64)59 58 dc := &downstreamConn{ 60 59 net: netConn, … … 62 61 srv: srv, 63 62 logger: &prefixLogger{srv.Logger, fmt.Sprintf("downstream %q: ", netConn.RemoteAddr())}, 64 messages: m sgs,63 messages: make(chan *irc.Message, 64), 65 64 } 66 65 67 66 go func() { 68 for msg := range msgs { 69 if err := dc.irc.WriteMessage(msg); err != nil { 70 dc.logger.Printf("failed to write message: %v", err) 71 } 67 if err := dc.writeMessages(); err != nil { 68 dc.logger.Printf("failed to write message: %v", err) 72 69 } 73 70 if err := dc.net.Close(); err != nil { … … 113 110 } 114 111 112 return nil 113 } 114 115 func (dc *downstreamConn) writeMessages() error { 116 for msg := range dc.messages { 117 if err := dc.irc.WriteMessage(msg); err != nil { 118 return err 119 } 120 } 115 121 return nil 116 122 }
Note:
See TracChangeset
for help on using the changeset viewer.