(m *mysqlProxy)
| 23 | ) |
| 24 | |
| 25 | func 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 | |
| 58 | func connectP2PNetwork(host *p2p.P2P, mode string) { |
| 59 | switch strings.ToLower(mode) { |
no test coverage detected