func main() { flag.Parse() servenv.Init() var schema *planbuilder.Schema log.Info(*cell, *schemaFile) if *schemaFile != "" { var err error if schema, err = planbuilder.LoadSchemaJSON(*schemaFile); err != nil { log.Fatal(err) } } ts := topo.GetServer() defer topo.CloseServers() resilientSrvTopoServer = vtgate.NewResilientSrvTopoServer(ts, "ResilientSrvTopoServer") // For the initial phase vtgate is exposing // topoReader api. This will be subsumed by // vtgate once vtgate's client functions become active. topoReader = NewTopoReader(resilientSrvTopoServer) servenv.Register("toporeader", topoReader) vtgate.Init(resilientSrvTopoServer, schema, *cell, *retryDelay, *retryCount, *timeout, *maxInFlight) servenv.RunDefault() }
// zkocc: a proxy for zk func main() { flag.Parse() servenv.Init() zkr := zkocc.NewZkReader(*resolveLocal, flag.Args()) zk.RegisterZkReader(zkr) servenv.Register("toporeader", &TopoReader{zkr: zkr}) servenv.RunDefault() }
func init() { tabletmanager.RegisterQueryServices = append(tabletmanager.RegisterQueryServices, func(agent *tabletmanager.ActionAgent) { servenv.Register("tabletmanager", &TabletManager{agent}) }) }
// StartServer registers the Server for RPCs. func StartServer(mysqld *mysqlctl.Mysqld) { servenv.Register("mysqlctl", &MysqlctlServer{mysqld}) }
func init() { binlog.RegisterUpdateStreamServices = append(binlog.RegisterUpdateStreamServices, func(updateStream *binlog.UpdateStream) { servenv.Register("updatestream", &UpdateStream{updateStream}) }) }
func init() { vtgate.RegisterVTGates = append(vtgate.RegisterVTGates, func(vtGate *vtgate.VTGate) { servenv.Register("vtgateservice", &VTGate{vtGate}) }) }
func init() { tabletserver.SqlQueryRegisterFunctions = append(tabletserver.SqlQueryRegisterFunctions, func(sq *tabletserver.SqlQuery) { servenv.Register("queryservice", &SqlQuery{sq}) }) }
// StartServer registers the Server for RPCs func StartServer(ts topo.Server) { servenv.Register("vtctl", NewVtctlServer(ts)) }