Changeset 480 in code for trunk


Ignore:
Timestamp:
Mar 26, 2021, 10:21:14 AM (4 years ago)
Author:
contact
Message:

Introduce deliveredClientMap

Adds more semantics to map[string]string. Simplifies the complicated
mapStringStringCasemapMap type.

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/downstream.go

    r479 r480  
    998998                // Fast-forward history to last message
    999999                for target, entry := range net.delivered.innerMap {
    1000                         delivered := entry.value.(map[string]string)
     1000                        delivered := entry.value.(deliveredClientMap)
    10011001                        ch := net.channels.Value(target)
    10021002                        if ch != nil && ch.Detached {
  • trunk/irc.go

    r478 r480  
    601601}
    602602
    603 type mapStringStringCasemapMap struct{ casemapMap }
    604 
    605 func (cm *mapStringStringCasemapMap) Value(name string) map[string]string {
     603type deliveredCasemapMap struct{ casemapMap }
     604
     605func (cm *deliveredCasemapMap) Value(name string) deliveredClientMap {
    606606        entry, ok := cm.innerMap[cm.casemap(name)]
    607607        if !ok {
    608608                return nil
    609609        }
    610         return entry.value.(map[string]string)
    611 }
     610        return entry.value.(deliveredClientMap)
     611}
  • trunk/upstream.go

    r478 r480  
    17551755                }
    17561756
    1757                 delivered = make(map[string]string)
     1757                delivered = make(deliveredClientMap)
    17581758                uc.network.delivered.SetValue(entity, delivered)
    17591759
  • trunk/user.go

    r478 r480  
    5656type eventStop struct{}
    5757
     58type deliveredClientMap map[string]string // client name -> msg ID
     59
    5860type network struct {
    5961        Network
     
    6365        conn           *upstreamConn
    6466        channels       channelCasemapMap
    65         delivered      mapStringStringCasemapMap // entity -> client name -> msg ID
    66         offlineClients map[string]struct{}       // indexed by client name
     67        delivered      deliveredCasemapMap
     68        offlineClients map[string]struct{} // indexed by client name
    6769        lastError      error
    6870        casemap        casemapping
     
    8183                stopped:        make(chan struct{}),
    8284                channels:       m,
    83                 delivered:      mapStringStringCasemapMap{newCasemapMap(0)},
     85                delivered:      deliveredCasemapMap{newCasemapMap(0)},
    8486                offlineClients: make(map[string]struct{}),
    8587                casemap:        casemapRFC1459,
Note: See TracChangeset for help on using the changeset viewer.