func()

in clients/etcd_client/etcd_client.go [56:84]


func (sec *ShenYuEtcdClient) NewClient(clientParam interface{}) (client interface{}, createResult bool, err error) {
	ecp, ok := clientParam.(*EtcdClientParam)
	if !ok {
		logger.Fatalf("The clientParam  must not nil!")
	}
	if len(ecp.EtcdServers) > 0 {
		//use customer param to create client
		client, err := clientv3.New(clientv3.Config{
			Endpoints:   ecp.EtcdServers,
			DialTimeout: constants.DEFAULT_ETCD_TIMEOUT * time.Second,
			Username:    ecp.UserName,
			Password:    ecp.Password,
		})
		if err == nil {
			logger.Infof("Create customer etcd client success!")
			return &ShenYuEtcdClient{
				Ecp: &EtcdClientParam{
					EtcdServers: ecp.EtcdServers,
					UserName:    ecp.UserName,
					Password:    ecp.Password,
					TTL:         ecp.TTL,
				},
				EtcdClient: client,
			}, true, nil
		}
		logger.Fatalf("init etcd client error %v:", err)
	}
	return
}