package discovery //import ( // "basic.com/pubsub/protomsg.git" // "basic.com/valib/gopherdiscovery.git" // "github.com/gogo/protobuf/proto" // "time" // "basic.com/valib/logger.git" //) // //const ( // Discovery_Server = "tcp://0.0.0.0:40008" // Discovery_UrlPubSub = "tcp://0.0.0.0:50008" //) // ////启动discovery的server //var discoveryServer *gopherdiscovery.DiscoveryServer //var dbChangeChan chan *protomsg.EsPersonCacheChange //func StartServer() { // var clients []string // var err error // var ( // defaultOpts = gopherdiscovery.Options{ // SurveyTime: 3 * time.Second, // //RecvDeadline: 3 * time.Second, // PollTime: 5 * time.Second, // } // ) // // discoveryServer, err = gopherdiscovery.Server(Discovery_Server, Discovery_UrlPubSub, defaultOpts) // // logger.Debug("server: ", discoveryServer) // logger.Debug("err:",err) // logger.Debug("clients: ",clients) // // dbChangeChan = make(chan *protomsg.EsPersonCacheChange) // // for { // select { // case dbMsg := <-dbChangeChan: // publishMessage(dbMsg) // } // } //} // ////广播数据库改变的msg //func publishMessage(msg *protomsg.EsPersonCacheChange) { // sendBytes,err := proto.Marshal(msg) // if err ==nil{ // discoveryServer.PublishMsg(string(sendBytes)) // } //} // //func AddDbMessage(msg *protomsg.EsPersonCacheChange) { // logger.Debug("MSG EsPersonCacheChange In") // dbChangeChan<-msg //}