Changeset 137 in code for trunk/user.go


Ignore:
Timestamp:
Mar 23, 2020, 3:05:00 PM (5 years ago)
Author:
contact
Message:

Add user.{add,remove}Downstream

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/user.go

    r136 r137  
    177177}
    178178
     179func (u *user) addDownstream(dc *downstreamConn) (first bool) {
     180        u.lock.Lock()
     181        first = len(dc.user.downstreamConns) == 0
     182        u.downstreamConns = append(u.downstreamConns, dc)
     183        u.lock.Unlock()
     184        return first
     185}
     186
     187func (u *user) removeDownstream(dc *downstreamConn) {
     188        u.lock.Lock()
     189        for i := range u.downstreamConns {
     190                if u.downstreamConns[i] == dc {
     191                        u.downstreamConns = append(u.downstreamConns[:i], u.downstreamConns[i+1:]...)
     192                        break
     193                }
     194        }
     195        u.lock.Unlock()
     196}
     197
    179198func (u *user) createNetwork(net *Network) (*network, error) {
    180199        network := newNetwork(u, net)
Note: See TracChangeset for help on using the changeset viewer.