當前位置: 首頁>>代碼示例>>Golang>>正文


Golang Versioner.UpdateObject方法代碼示例

本文整理匯總了Golang中k8s/io/kubernetes/pkg/storage.Versioner.UpdateObject方法的典型用法代碼示例。如果您正苦於以下問題:Golang Versioner.UpdateObject方法的具體用法?Golang Versioner.UpdateObject怎麽用?Golang Versioner.UpdateObject使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在k8s/io/kubernetes/pkg/storage.Versioner的用法示例。


在下文中一共展示了Versioner.UpdateObject方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: decodeObj

func decodeObj(codec runtime.Codec, versioner storage.Versioner, data []byte, rev int64) (runtime.Object, error) {
	obj, err := runtime.Decode(codec, []byte(data))
	if err != nil {
		return nil, err
	}
	// ensure resource version is set on the object we load from etcd
	if err := versioner.UpdateObject(obj, uint64(rev)); err != nil {
		return nil, fmt.Errorf("failure to version api object (%d) %#v: %v", rev, obj, err)
	}
	return obj, nil
}
開發者ID:nhr,項目名稱:origin,代碼行數:11,代碼來源:watcher.go

示例2: previousResourceVersion

// previousResourceVersion returns the resource version one prior to the given resourceVersion.
// The first event seen by a watch started at the returned version should be the create/update of the object.
func previousResourceVersion(v storage.Versioner, resourceVersion string) (string, error) {
	// Any API object will do. We'll just use an Event
	e := &kapi.Event{}
	e.ResourceVersion = resourceVersion
	version, err := v.ObjectResourceVersion(e)
	if err != nil {
		return "", err
	}
	v.UpdateObject(e, version-1)
	return e.ResourceVersion, nil
}
開發者ID:Xmagicer,項目名稱:origin,代碼行數:13,代碼來源:cluster.go

示例3: decode

// decode decodes value of bytes into object. It will also set the object resource version to rev.
// On success, objPtr would be set to the object.
func decode(codec runtime.Codec, versioner storage.Versioner, value []byte, objPtr runtime.Object, rev int64) error {
	if _, err := conversion.EnforcePtr(objPtr); err != nil {
		panic("unable to convert output object to pointer")
	}
	_, _, err := codec.Decode(value, nil, objPtr)
	if err != nil {
		return err
	}
	// being unable to set the version does not prevent the object from being extracted
	versioner.UpdateObject(objPtr, uint64(rev))
	return nil
}
開發者ID:maisem,項目名稱:kubernetes,代碼行數:14,代碼來源:store.go

示例4: decodeList

// decodeList decodes a list of values into a list of objects, with resource version set to corresponding rev.
// On success, ListPtr would be set to the list of objects.
func decodeList(elems []*elemForDecode, filter storage.FilterFunc, ListPtr interface{}, codec runtime.Codec, versioner storage.Versioner) error {
	v, err := conversion.EnforcePtr(ListPtr)
	if err != nil || v.Kind() != reflect.Slice {
		panic("need ptr to slice")
	}
	for _, elem := range elems {
		obj, _, err := codec.Decode(elem.data, nil, reflect.New(v.Type().Elem()).Interface().(runtime.Object))
		if err != nil {
			return err
		}
		// being unable to set the version does not prevent the object from being extracted
		versioner.UpdateObject(obj, elem.rev)
		if filter(obj) {
			v.Set(reflect.Append(v, reflect.ValueOf(obj).Elem()))
		}
	}
	return nil
}
開發者ID:maisem,項目名稱:kubernetes,代碼行數:20,代碼來源:store.go


注:本文中的k8s/io/kubernetes/pkg/storage.Versioner.UpdateObject方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。