本文整理汇总了Golang中github.com/tinylib/msgp/msgp.Reader.ReadIntf方法的典型用法代码示例。如果您正苦于以下问题:Golang Reader.ReadIntf方法的具体用法?Golang Reader.ReadIntf怎么用?Golang Reader.ReadIntf使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/tinylib/msgp/msgp.Reader
的用法示例。
在下文中一共展示了Reader.ReadIntf方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: DecodeMsg
// DecodeMsg implements msgp.Decodable
func (z *Message) DecodeMsg(dc *msgp.Reader) (err error) {
var ssz uint32
ssz, err = dc.ReadArrayHeader()
if err != nil {
return
}
if ssz != 4 {
err = msgp.ArrayError{Wanted: 4, Got: ssz}
return
}
z.Tag, err = dc.ReadString()
if err != nil {
return
}
z.Time, err = dc.ReadInt64()
if err != nil {
return
}
z.Record, err = dc.ReadIntf()
if err != nil {
return
}
z.Option, err = dc.ReadIntf()
if err != nil {
return
}
return
}
示例2: DecodeMsg
// DecodeMsg implements msgp.Decodable
func (z *CacheRegistry) DecodeMsg(dc *msgp.Reader) (err error) {
var field []byte
_ = field
var xvk uint32
xvk, err = dc.ReadMapHeader()
if err != nil {
return
}
for xvk > 0 {
xvk--
field, err = dc.ReadMapKeyPtr()
if err != nil {
return
}
switch msgp.UnsafeString(field) {
case "CacheKey":
z.CacheKey, err = dc.ReadString()
if err != nil {
return
}
case "Payload":
z.Payload, err = dc.ReadIntf()
if err != nil {
return
}
case "StoreTTL":
z.StoreTTL, err = dc.ReadFloat64()
if err != nil {
return
}
case "CacheTime":
z.CacheTime, err = dc.ReadTime()
if err != nil {
return
}
case "HasValue":
z.HasValue, err = dc.ReadBool()
if err != nil {
return
}
case "TypeName":
z.TypeName, err = dc.ReadString()
if err != nil {
return
}
default:
err = dc.Skip()
if err != nil {
return
}
}
}
return
}
示例3: DecodeMsg
// DecodeMsg implements msgp.Decodable
func (z *ServerResponse) DecodeMsg(dc *msgp.Reader) (err error) {
{
var ssz uint32
ssz, err = dc.ReadArrayHeader()
if err != nil {
return
}
if ssz != 3 {
err = msgp.ArrayError{Wanted: 3, Got: ssz}
return
}
}
if dc.IsNil() {
err = dc.ReadNil()
if err != nil {
return
}
z.Header = nil
} else {
if z.Header == nil {
z.Header = new(EventHeader)
}
var field []byte
_ = field
var isz uint32
isz, err = dc.ReadMapHeader()
if err != nil {
return
}
for isz > 0 {
isz--
field, err = dc.ReadMapKeyPtr()
if err != nil {
return
}
switch msgp.UnsafeString(field) {
case "message_id":
z.Header.Id, err = dc.ReadString()
if err != nil {
return
}
case "v":
z.Header.Version, err = dc.ReadInt()
if err != nil {
return
}
case "response_to":
z.Header.ResponseTo, err = dc.ReadString()
if err != nil {
return
}
default:
err = dc.Skip()
if err != nil {
return
}
}
}
}
z.Name, err = dc.ReadString()
if err != nil {
return
}
var xsz uint32
xsz, err = dc.ReadArrayHeader()
if err != nil {
return
}
if cap(z.Params) >= int(xsz) {
z.Params = z.Params[:xsz]
} else {
z.Params = make([]interface{}, xsz)
}
for bzg := range z.Params {
z.Params[bzg], err = dc.ReadIntf()
if err != nil {
return
}
}
return
}
示例4: DecodeMsg
// DecodeMsg implements msgp.Decodable
func (z *Message) DecodeMsg(dc *msgp.Reader) (err error) {
var field []byte
_ = field
var isz uint32
isz, err = dc.ReadMapHeader()
if err != nil {
return
}
for isz > 0 {
isz--
field, err = dc.ReadMapKeyPtr()
if err != nil {
return
}
switch msgp.UnsafeString(field) {
case "body":
z.Body, err = dc.ReadBytes(z.Body)
if err != nil {
return
}
case "meta":
var msz uint32
msz, err = dc.ReadMapHeader()
if err != nil {
return
}
if z.Meta == nil && msz > 0 {
z.Meta = make(map[string]interface{}, msz)
} else if len(z.Meta) > 0 {
for key, _ := range z.Meta {
delete(z.Meta, key)
}
}
for msz > 0 {
msz--
var xvk string
var bzg interface{}
xvk, err = dc.ReadString()
if err != nil {
return
}
bzg, err = dc.ReadIntf()
if err != nil {
return
}
z.Meta[xvk] = bzg
}
case "ct":
z.ContentType, err = dc.ReadString()
if err != nil {
return
}
default:
err = dc.Skip()
if err != nil {
return
}
}
}
return
}