本文整理汇总了Golang中github.com/glerchundi/kvstores.Client类的典型用法代码示例。如果您正苦于以下问题:Golang Client类的具体用法?Golang Client怎么用?Golang Client使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Client类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: processGetChildrenReq
func processGetChildrenReq(opReq OpReq, client kv.Client) *OpRep {
xid := opReq.Hdr.Xid
req := opReq.Req.(*GetChildrenReq)
if err := newErrorRepIfInvalidPath(xid, 0, req.Path); err != nil {
return err
}
children, err := client.GetChildren(req.Path.Value)
if err != nil {
return newBackendErrorRep(xid, 0, err)
}
return newRep(
xid, 0, errOk,
&GetChildrenRep{Children: children},
)
}
示例2: processSetDataReq
func processSetDataReq(opReq OpReq, client kv.Client) *OpRep {
xid := opReq.Hdr.Xid
req := opReq.Req.(*SetDataReq)
if err := newErrorRepIfInvalidPath(xid, 0, req.Path); err != nil {
return err
}
err := client.SetData(req.Path.Value, string(req.Data), req.Version)
if err != nil {
return newBackendErrorRep(xid, 0, err)
}
return newRep(
xid, 0, errOk,
&SetDataRep{Stat: newStat(0, 0, 0)},
)
}
示例3: processExistsReq
func processExistsReq(opReq OpReq, client kv.Client) *OpRep {
xid := opReq.Hdr.Xid
req := opReq.Req.(*ExistsReq)
if err := newErrorRepIfInvalidPath(xid, 0, req.Path); err != nil {
return err
}
err := client.Exists(req.Path.Value)
if err != nil {
return newBackendErrorRep(xid, 0, err)
}
return newRep(
xid, 0, errOk,
&ExistsRep{Stat: newStat(0, 0, 0)},
)
}
示例4: processDeleteReq
func processDeleteReq(opReq OpReq, client kv.Client) *OpRep {
xid := opReq.Hdr.Xid
req := opReq.Req.(*DeleteReq)
if err := newErrorRepIfInvalidPath(xid, 0, req.Path); err != nil {
return err
}
err := client.Delete(req.Path.Value, req.Version)
if err != nil {
return newBackendErrorRep(xid, 0, err)
}
return newRep(
xid, 0, errOk,
&DeleteRep{},
)
}
示例5: processCreateReq
func processCreateReq(opReq OpReq, client kv.Client) *OpRep {
xid := opReq.Hdr.Xid
req := opReq.Req.(*CreateReq)
if err := newErrorRepIfInvalidPath(xid, 0, req.Path); err != nil {
return err
}
err := client.Create(req.Path.Value, string(req.Data))
if err != nil {
return newBackendErrorRep(xid, 0, err)
}
return newRep(
xid, 0, errOk,
&CreateRep{Path: req.Path.Value},
)
}
示例6: processGetDataReq
func processGetDataReq(opReq OpReq, client kv.Client) *OpRep {
xid := opReq.Hdr.Xid
req := opReq.Req.(*GetDataReq)
if err := newErrorRepIfInvalidPath(xid, 0, req.Path); err != nil {
return err
}
node, err := client.GetData(req.Path.Value)
if err != nil {
return newBackendErrorRep(xid, 0, err)
}
return newRep(
xid, 0, errOk,
&GetDataRep{
Data: []byte(node.Value),
Stat: newStat(node.CreatedIndex, node.ModifiedIndex, len(node.Value)),
},
)
}
示例7: processCheckVersionReq
func processCheckVersionReq(opReq OpReq, client kv.Client) *OpRep {
xid := opReq.Hdr.Xid
req := opReq.Req.(*CheckVersionReq)
if err := newErrorRepIfInvalidPath(xid, 0, req.Path); err != nil {
return err
}
node, err := client.GetData(req.Path.Value)
if err != nil {
return newBackendErrorRep(xid, 0, err)
}
if req.Version != int32(node.ModifiedIndex) {
return newErrorRep(xid, 0, errBadVersion)
}
return newRep(
xid, 0, errOk,
&PingRep{},
)
}