Changeset 46 in code for trunk/server.go


Ignore:
Timestamp:
Feb 7, 2020, 12:08:27 PM (5 years ago)
Author:
contact
Message:

Handle downstream MODE messages

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/server.go

    r44 r46  
    5858        }
    5959        u.lock.Unlock()
     60}
     61
     62func (u *user) getChannel(name string) (*upstreamChannel, error) {
     63        var channel *upstreamChannel
     64        var err error
     65        u.forEachUpstream(func(uc *upstreamConn) {
     66                if err != nil {
     67                        return
     68                }
     69                if ch, ok := uc.channels[name]; ok {
     70                        if channel != nil {
     71                                err = fmt.Errorf("ambiguous channel name %q", name)
     72                        } else {
     73                                channel = ch
     74                        }
     75                }
     76        })
     77        if channel == nil {
     78                return nil, fmt.Errorf("unknown channel %q", name)
     79        }
     80        return channel, nil
    6081}
    6182
Note: See TracChangeset for help on using the changeset viewer.