本文整理匯總了Golang中github.com/google/cayley/graph/proto.NodeData.Size_方法的典型用法代碼示例。如果您正苦於以下問題:Golang NodeData.Size_方法的具體用法?Golang NodeData.Size_怎麽用?Golang NodeData.Size_使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/google/cayley/graph/proto.NodeData
的用法示例。
在下文中一共展示了NodeData.Size_方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: UpdateValueKeyBy
// UpdateValueKeyBy ??
func (qs *QuadStore) UpdateValueKeyBy(name string, amount int64, tx *lmdb.Txn) error {
value := proto.NodeData{
Name: name,
Size_: amount,
}
key := qs.createValueKeyFor(name)
data, err := tx.Get(qs.nodeDBI, key)
if err == nil {
// Node exists in the database -- unmarshal and update.
var oldvalue proto.NodeData
err := oldvalue.Unmarshal(data)
if err != nil {
glog.Errorf("Error: couldn't reconstruct value: %v", err)
return err
}
oldvalue.Size_ += amount
value = oldvalue
}
// Are we deleting something?
if value.Size_ <= 0 {
value.Size_ = 0
}
// Repackage and rewrite.
bytes, err := value.Marshal()
if err != nil {
glog.Errorf("Couldn't write to buffer for value %s: %s", name, err)
return err
}
err = tx.Put(qs.nodeDBI, key, bytes, 0)
return err
}