MCPcopy Index your code
hub / github.com/CodisLabs/codis / MastersAndSlavesClient

Method MastersAndSlavesClient

pkg/utils/redis/sentinel.go:710–731  ·  view source on GitHub ↗
(client *Client)

Source from the content-addressed store, hash-verified

708}
709
710func (s *Sentinel) MastersAndSlavesClient(client *Client) (map[string]*SentinelGroup, error) {
711 masters, err := s.mastersCommand(client)
712 if err != nil {
713 return nil, err
714 }
715 var names []string
716 for gid := range masters {
717 names = append(names, s.NodeName(gid))
718 }
719 slaves, err := s.slavesCommand(client, names)
720 if err != nil {
721 return nil, err
722 }
723 results := make(map[string]*SentinelGroup, len(masters))
724 for gid, master := range masters {
725 var name = s.NodeName(gid)
726 results[name] = &SentinelGroup{
727 Master: master, Slaves: slaves[name],
728 }
729 }
730 return results, nil
731}
732
733func (s *Sentinel) MastersAndSlaves(sentinel string, timeout time.Duration) (map[string]*SentinelGroup, error) {
734 var results map[string]*SentinelGroup

Callers 2

MastersAndSlavesMethod · 0.95
RefreshRedisStatsMethod · 0.95

Calls 3

mastersCommandMethod · 0.95
NodeNameMethod · 0.95
slavesCommandMethod · 0.95

Tested by

no test coverage detected