MCPcopy Create free account
hub / github.com/IceFireDB/IceFireDB / initP2P

Function initP2P

IceFireDB-SQLProxy/internal/mysql/p2p.go:25–56  ·  view source on GitHub ↗
(m *mysqlProxy)

Source from the content-addressed store, hash-verified

23)
24
25func initP2P(m *mysqlProxy) {
26 p2pChans = &p2pChannels{}
27
28 // Initialize admin P2P
29 p2pChans.adminHost = p2p.NewP2P(config.Get().P2P.ServiceDiscoveryID,
30 config.Get().P2P.NodeHostIP, config.Get().P2P.NodeHostPort)
31
32 // Initialize readonly P2P
33 p2pChans.readonlyHost = p2p.NewP2P(config.Get().P2P.ServiceDiscoveryID,
34 config.Get().P2P.NodeHostIP, config.Get().P2P.NodeHostPort)
35
36 // Connect both to their networks
37 connectP2PNetwork(p2pChans.adminHost, config.Get().P2P.ServiceDiscoverMode)
38 connectP2PNetwork(p2pChans.readonlyHost, config.Get().P2P.ServiceDiscoverMode)
39
40 // Join pubsub channels
41 var err error
42 p2pChans.adminPubSub, err = p2p.JoinPubSub(p2pChans.adminHost, "mysql-admin",
43 config.Get().P2P.AdminTopic)
44 if err != nil {
45 panic(err)
46 }
47
48 p2pChans.readonlyPubSub, err = p2p.JoinPubSub(p2pChans.readonlyHost, "mysql-readonly",
49 config.Get().P2P.ReadonlyTopic)
50 if err != nil {
51 panic(err)
52 }
53
54 logrus.Info("Successfully initialized both admin and readonly P2P channels")
55 asyncSQL(m)
56}
57
58func connectP2PNetwork(host *p2p.P2P, mode string) {
59 switch strings.ToLower(mode) {

Callers 1

RunFunction · 0.85

Calls 5

NewP2PFunction · 0.92
GetFunction · 0.92
JoinPubSubFunction · 0.92
connectP2PNetworkFunction · 0.85
asyncSQLFunction · 0.70

Tested by

no test coverage detected