MCPcopy
hub / github.com/etcd-io/etcd / MustNewMember

Function MustNewMember

tests/framework/integration/cluster.go:628–757  ·  view source on GitHub ↗

MustNewMember return an inited member with the given name. If peerTLS is set, it will use https scheme to communicate between peers.

(t testutil.TB, mcfg MemberConfig)

Source from the content-addressed store, hash-verified

626// MustNewMember return an inited member with the given name. If peerTLS is
627// set, it will use https scheme to communicate between peers.
628func MustNewMember(t testutil.TB, mcfg MemberConfig) *Member {
629 var err error
630 m := &Member{
631 MemberNumber: mcfg.MemberNumber,
632 UniqNumber: int(atomic.AddInt32(&UniqueCount, 1)),
633 }
634
635 peerScheme := SchemeFromTLSInfo(mcfg.PeerTLS)
636 clientScheme := SchemeFromTLSInfo(mcfg.ClientTLS)
637
638 pln := NewLocalListener(t)
639 m.PeerListeners = []net.Listener{pln}
640 m.PeerURLs, err = types.NewURLs([]string{peerScheme + "://" + pln.Addr().String()})
641 if err != nil {
642 t.Fatal(err)
643 }
644 m.PeerTLSInfo = mcfg.PeerTLS
645
646 cln := NewLocalListener(t)
647 m.ClientListeners = []net.Listener{cln}
648 m.ClientURLs, err = types.NewURLs([]string{clientScheme + "://" + cln.Addr().String()})
649 if err != nil {
650 t.Fatal(err)
651 }
652 m.ClientTLSInfo = mcfg.ClientTLS
653
654 m.Name = mcfg.Name
655
656 m.DataDir, err = os.MkdirTemp(t.TempDir(), "etcd")
657 if err != nil {
658 t.Fatal(err)
659 }
660 clusterStr := fmt.Sprintf("%s=%s://%s", mcfg.Name, peerScheme, pln.Addr().String())
661 m.InitialPeerURLsMap, err = types.NewURLsMap(clusterStr)
662 if err != nil {
663 t.Fatal(err)
664 }
665 m.InitialClusterToken = ClusterName
666 m.NewCluster = true
667 m.BootstrapTimeout = 10 * time.Millisecond
668 if m.PeerTLSInfo != nil {
669 m.ServerConfig.PeerTLSInfo = *m.PeerTLSInfo
670 }
671 m.ElectionTicks = ElectionTicks
672 m.InitialElectionTickAdvance = true
673 m.TickMs = uint(framecfg.TickDuration / time.Millisecond)
674 m.PreVote = true
675 m.QuotaBackendBytes = mcfg.QuotaBackendBytes
676 m.BackendBatchInterval = mcfg.BackendBatchInterval
677 m.MaxTxnOps = mcfg.MaxTxnOps
678 if m.MaxTxnOps == 0 {
679 m.MaxTxnOps = embed.DefaultMaxTxnOps
680 }
681 m.MaxRequestBytes = mcfg.MaxRequestBytes
682 if m.MaxRequestBytes == 0 {
683 m.MaxRequestBytes = embed.DefaultMaxRequestBytes
684 }
685 m.SnapshotCount = etcdserver.DefaultSnapshotCount

Callers 1

MustNewMemberMethod · 0.85

Calls 12

listenGRPCMethod · 0.95
SchemeFromTLSInfoFunction · 0.85
NewLocalListenerFunction · 0.85
memberLoggerFunction · 0.85
AddrMethod · 0.80
DurationMethod · 0.80
StringMethod · 0.65
FatalMethod · 0.65
TempDirMethod · 0.65
SetMethod · 0.65
FatalfMethod · 0.65
CleanupMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…