code: func NewEtcdConnectionWithBytes(config ClientConfig, log logging.Logger) (*BytesConnectionEtcd, error) {
  	t := time.Now()
  
  	l := log.WithField("endpoints", config.Endpoints)
  	l.Debugf("Connecting to Etcd..")
  
  	etcdClient, err := clientv3.New(*config.Config)
  	if err != nil {
  		l.Warnf("Failed to connect to Etcd: %v", err)
  		return nil, err
  	}
  
  	l.Infof("Connected to Etcd (took %v)", time.Since(t))
  
  	conn, err := NewEtcdConnectionUsingClient(etcdClient, log)
  	if err != nil {
  		return nil, err
  	}
  	conn.opTimeout = config.OpTimeout
  
  	return conn, nil
  }
docs: // NewEtcdConnectionWithBytes creates new connection to etcd based on the given
  // config file.