Changeset 347 in code


Ignore:
Timestamp:
Jul 1, 2020, 3:02:37 PM (5 years ago)
Author:
contact
Message:

Add RemoteAddr to ircConn interface

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/conn.go

    r341 r347  
    2121        SetReadDeadline(time.Time) error
    2222        SetWriteDeadline(time.Time) error
     23        RemoteAddr() net.Addr
    2324}
    2425
     
    3435        conn                        *websocket.Conn
    3536        readDeadline, writeDeadline time.Time
     37        remoteAddr                  string
    3638}
    3739
    38 func newWebsocketIRCConn(c *websocket.Conn) ircConn {
    39         return websocketIRCConn{conn: c}
     40func newWebsocketIRCConn(c *websocket.Conn, remoteAddr string) ircConn {
     41        return websocketIRCConn{conn: c, remoteAddr: remoteAddr}
    4042}
    4143
     
    8284        wic.writeDeadline = t
    8385        return nil
     86}
     87
     88func (wic websocketIRCConn) RemoteAddr() net.Addr {
     89        return websocketAddr(wic.remoteAddr)
     90}
     91
     92type websocketAddr string
     93
     94func (websocketAddr) Network() string {
     95        return "ws"
     96}
     97
     98func (wa websocketAddr) String() string {
     99        return string(wa)
    84100}
    85101
  • trunk/downstream.go

    r343 r347  
    100100}
    101101
    102 func newDownstreamConn(srv *Server, ic ircConn, remoteAddr string, id uint64) *downstreamConn {
     102func newDownstreamConn(srv *Server, ic ircConn, id uint64) *downstreamConn {
     103        remoteAddr := ic.RemoteAddr().String()
    103104        logger := &prefixLogger{srv.Logger, fmt.Sprintf("downstream %q: ", remoteAddr)}
    104105        dc := &downstreamConn{
  • trunk/server.go

    r345 r347  
    118118var lastDownstreamID uint64 = 0
    119119
    120 func (s *Server) handle(ic ircConn, remoteAddr string) {
     120func (s *Server) handle(ic ircConn) {
    121121        id := atomic.AddUint64(&lastDownstreamID, 1)
    122         dc := newDownstreamConn(s, ic, remoteAddr, id)
     122        dc := newDownstreamConn(s, ic, id)
    123123        if err := dc.runUntilRegistered(); err != nil {
    124124                dc.logger.Print(err)
     
    140140                }
    141141
    142                 go s.handle(newNetIRCConn(conn), conn.RemoteAddr().String())
     142                go s.handle(newNetIRCConn(conn))
    143143        }
    144144}
     
    169169        }
    170170
    171         s.handle(newWebsocketIRCConn(conn), remoteAddr)
     171        s.handle(newWebsocketIRCConn(conn, remoteAddr))
    172172}
Note: See TracChangeset for help on using the changeset viewer.