当前位置: 首页>>代码示例>>Golang>>正文


Golang codec.GenHelperDecoder函数代码示例

本文整理汇总了Golang中github.com/vulcand/vulcand/Godeps/_workspace/src/github.com/ugorji/go/codec.GenHelperDecoder函数的典型用法代码示例。如果您正苦于以下问题:Golang GenHelperDecoder函数的具体用法?Golang GenHelperDecoder怎么用?Golang GenHelperDecoder使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了GenHelperDecoder函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: CodecDecodeSelf

func (x *Node) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1819
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym44 := z.DecBinary()
	_ = yym44
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct45 := r.ContainerType()
		if yyct45 == codecSelferValueTypeMap1819 {
			yyl45 := r.ReadMapStart()
			if yyl45 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1819)
			} else {
				x.codecDecodeSelfFromMap(yyl45, d)
			}
		} else if yyct45 == codecSelferValueTypeArray1819 {
			yyl45 := r.ReadArrayStart()
			if yyl45 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1819)
			} else {
				x.codecDecodeSelfFromArray(yyl45, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1819)
		}
	}
}
开发者ID:huhoo,项目名称:vulcand,代码行数:29,代码来源:keys.generated.go

示例2: codecDecodeSelfFromMap

func (x *RawResponse) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1978
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys16Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys16Slc
	var yyhl16 bool = l >= 0
	for yyj16 := 0; ; yyj16++ {
		if yyhl16 {
			if yyj16 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1978)
		yys16Slc = r.DecodeBytes(yys16Slc, true, true)
		yys16 := string(yys16Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1978)
		switch yys16 {
		case "StatusCode":
			if r.TryDecodeAsNil() {
				x.StatusCode = 0
			} else {
				x.StatusCode = int(r.DecodeInt(codecSelferBitsize1978))
			}
		case "Body":
			if r.TryDecodeAsNil() {
				x.Body = nil
			} else {
				yyv18 := &x.Body
				yym19 := z.DecBinary()
				_ = yym19
				if false {
				} else {
					*yyv18 = r.DecodeBytes(*(*[]byte)(yyv18), false, false)
				}
			}
		case "Header":
			if r.TryDecodeAsNil() {
				x.Header = nil
			} else {
				yyv20 := &x.Header
				yym21 := z.DecBinary()
				_ = yym21
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv20) {
				} else {
					h.dechttp_Header((*pkg1_http.Header)(yyv20), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys16)
		} // end switch yys16
	} // end for yyj16
	z.DecSendContainerState(codecSelfer_containerMapEnd1978)
}
开发者ID:huhoo,项目名称:vulcand,代码行数:59,代码来源:response.generated.go

示例3: codecDecodeSelfFromMap

func (x *Response) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1819
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys10Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys10Slc
	var yyhl10 bool = l >= 0
	for yyj10 := 0; ; yyj10++ {
		if yyhl10 {
			if yyj10 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1819)
		yys10Slc = r.DecodeBytes(yys10Slc, true, true)
		yys10 := string(yys10Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1819)
		switch yys10 {
		case "action":
			if r.TryDecodeAsNil() {
				x.Action = ""
			} else {
				x.Action = string(r.DecodeString())
			}
		case "node":
			if r.TryDecodeAsNil() {
				if x.Node != nil {
					x.Node = nil
				}
			} else {
				if x.Node == nil {
					x.Node = new(Node)
				}
				x.Node.CodecDecodeSelf(d)
			}
		case "prevNode":
			if r.TryDecodeAsNil() {
				if x.PrevNode != nil {
					x.PrevNode = nil
				}
			} else {
				if x.PrevNode == nil {
					x.PrevNode = new(Node)
				}
				x.PrevNode.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys10)
		} // end switch yys10
	} // end for yyj10
	z.DecSendContainerState(codecSelfer_containerMapEnd1819)
}
开发者ID:huhoo,项目名称:vulcand,代码行数:56,代码来源:keys.generated.go

示例4: codecDecodeSelfFromMap

func (x *RawResponse) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer4402
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys6Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys6Slc
	var yyhl6 bool = l >= 0
	for yyj6 := 0; ; yyj6++ {
		if yyhl6 {
			if yyj6 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
			if yyj6 > 0 {
				r.ReadMapEntrySeparator()
			}
		}
		yys6Slc = r.DecodeBytes(yys6Slc, true, true)
		yys6 := string(yys6Slc)
		if !yyhl6 {
			r.ReadMapKVSeparator()
		}
		switch yys6 {
		case "StatusCode":
			if r.TryDecodeAsNil() {
				x.StatusCode = 0
			} else {
				x.StatusCode = int(r.DecodeInt(codecSelferBitsize4402))
			}
		case "Body":
			if r.TryDecodeAsNil() {
				x.Body = nil
			} else {
				yyv8 := &x.Body
				*yyv8 = r.DecodeBytes(*(*[]byte)(yyv8), false, false)
			}
		case "Header":
			if r.TryDecodeAsNil() {
				x.Header = nil
			} else {
				yyv9 := &x.Header
				h.dechttp_Header((*http.Header)(yyv9), d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys6)
		} // end switch yys6
	} // end for yyj6
	if !yyhl6 {
		r.ReadMapEnd()
	}
}
开发者ID:naviantech,项目名称:vulcand,代码行数:54,代码来源:response.generated.go

示例5: CodecDecodeSelf

func (x *responseType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1978
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2 := z.DecBinary()
	_ = yym2
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*int)(x)) = int(r.DecodeInt(codecSelferBitsize1978))
	}
}
开发者ID:huhoo,项目名称:vulcand,代码行数:12,代码来源:response.generated.go

示例6: CodecDecodeSelf

func (x *Node) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer4402
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	if r.IsContainerType(codecSelverValueTypeMap4402) {
		yyl45 := r.ReadMapStart()
		if yyl45 == 0 {
			r.ReadMapEnd()
		} else {
			x.codecDecodeSelfFromMap(yyl45, d)
		}
	} else if r.IsContainerType(codecSelverValueTypeArray4402) {
		yyl45 := r.ReadArrayStart()
		if yyl45 == 0 {
			r.ReadArrayEnd()
		} else {
			x.codecDecodeSelfFromArray(yyl45, d)
		}
	} else {
		panic(codecSelferOnlyMapOrArrayEncodeToStructErr4402)
	}
}
开发者ID:naviantech,项目名称:vulcand,代码行数:22,代码来源:response.generated.go

示例7: decNodes

func (x codecSelfer4402) decNodes(v *Nodes, d *codec1978.Decoder) {
	var h codecSelfer4402
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv71 := *v
	yyh71, yyl71 := z.DecSliceHelperStart()

	var yyc71 bool
	if yyv71 == nil {
		if yyl71 <= 0 {
			yyv71 = make(Nodes, 0)
		} else {
			yyv71 = make(Nodes, yyl71)
		}
		yyc71 = true
	}

	if yyl71 == 0 {
		if len(yyv71) != 0 {
			yyv71 = yyv71[:0]
			yyc71 = true
		}
	} else if yyl71 > 0 {

		yyn71 := yyl71
		if yyl71 > cap(yyv71) {
			yyv71 = make([]*Node, yyl71, yyl71)
			yyc71 = true

		} else if yyl71 != len(yyv71) {
			yyv71 = yyv71[:yyl71]
			yyc71 = true
		}
		yyj71 := 0
		for ; yyj71 < yyn71; yyj71++ {
			if r.TryDecodeAsNil() {
				if yyv71[yyj71] != nil {
					*yyv71[yyj71] = Node{}
				}
			} else {
				if yyv71[yyj71] == nil {
					yyv71[yyj71] = new(Node)
				}
				yyw72 := yyv71[yyj71]
				yyw72.CodecDecodeSelf(d)
			}

		}

	} else {
		for yyj71 := 0; !r.CheckBreak(); yyj71++ {
			if yyj71 >= len(yyv71) {
				yyv71 = append(yyv71, nil) // var yyz71 *Node
				yyc71 = true
			}
			if yyj71 > 0 {
				yyh71.Sep(yyj71)
			}

			if yyj71 < len(yyv71) {
				if r.TryDecodeAsNil() {
					if yyv71[yyj71] != nil {
						*yyv71[yyj71] = Node{}
					}
				} else {
					if yyv71[yyj71] == nil {
						yyv71[yyj71] = new(Node)
					}
					yyw73 := yyv71[yyj71]
					yyw73.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh71.End()
	}
	if yyc71 {
		*v = yyv71
	}
}
开发者ID:naviantech,项目名称:vulcand,代码行数:84,代码来源:response.generated.go

示例8: dechttp_Header

func (x codecSelfer4402) dechttp_Header(v *http.Header, d *codec1978.Decoder) {
	var h codecSelfer4402
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv65 := *v
	yyl65 := r.ReadMapStart()
	if yyv65 == nil {
		if yyl65 > 0 {
			yyv65 = make(map[string][]string, yyl65)
		} else {
			yyv65 = make(map[string][]string) // supports indefinite-length, etc
		}
		*v = yyv65
	}
	if yyl65 > 0 {
		for yyj65 := 0; yyj65 < yyl65; yyj65++ {
			var yymk65 string
			if r.TryDecodeAsNil() {
				yymk65 = ""
			} else {
				yymk65 = string(r.DecodeString())
			}

			yymv65 := yyv65[yymk65]
			if r.TryDecodeAsNil() {
				yymv65 = nil
			} else {
				yyv67 := &yymv65
				z.F.DecSliceStringX(yyv67, false, d)
			}

			if yyv65 != nil {
				yyv65[yymk65] = yymv65
			}
		}
	} else if yyl65 < 0 {
		for yyj65 := 0; !r.CheckBreak(); yyj65++ {
			if yyj65 > 0 {
				r.ReadMapEntrySeparator()
			}
			var yymk65 string
			if r.TryDecodeAsNil() {
				yymk65 = ""
			} else {
				yymk65 = string(r.DecodeString())
			}

			r.ReadMapKVSeparator()
			yymv65 := yyv65[yymk65]
			if r.TryDecodeAsNil() {
				yymv65 = nil
			} else {
				yyv69 := &yymv65
				z.F.DecSliceStringX(yyv69, false, d)
			}

			if yyv65 != nil {
				yyv65[yymk65] = yymv65
			}
		}
		r.ReadMapEnd()
	} // else len==0: TODO: Should we clear map entries?
}
开发者ID:naviantech,项目名称:vulcand,代码行数:64,代码来源:response.generated.go

示例9: codecDecodeSelfFromArray

func (x *Node) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer4402
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj55 int
	var yyb55 bool
	var yyhl55 bool = l >= 0
	yyj55++
	if yyhl55 {
		yyb55 = yyj55 > l
	} else {
		yyb55 = r.CheckBreak()
	}
	if yyb55 {
		r.ReadArrayEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	yyj55++
	if yyhl55 {
		yyb55 = yyj55 > l
	} else {
		yyb55 = r.CheckBreak()
	}
	if yyb55 {
		r.ReadArrayEnd()
		return
	}
	r.ReadArrayEntrySeparator()
	if r.TryDecodeAsNil() {
		x.Value = ""
	} else {
		x.Value = string(r.DecodeString())
	}
	yyj55++
	if yyhl55 {
		yyb55 = yyj55 > l
	} else {
		yyb55 = r.CheckBreak()
	}
	if yyb55 {
		r.ReadArrayEnd()
		return
	}
	r.ReadArrayEntrySeparator()
	if r.TryDecodeAsNil() {
		x.Dir = false
	} else {
		x.Dir = bool(r.DecodeBool())
	}
	yyj55++
	if yyhl55 {
		yyb55 = yyj55 > l
	} else {
		yyb55 = r.CheckBreak()
	}
	if yyb55 {
		r.ReadArrayEnd()
		return
	}
	r.ReadArrayEntrySeparator()
	if r.TryDecodeAsNil() {
		if x.Expiration != nil {
			x.Expiration = nil
		}
	} else {
		if x.Expiration == nil {
			x.Expiration = new(time.Time)
		}
		z.DecFallback(x.Expiration, false)
	}
	yyj55++
	if yyhl55 {
		yyb55 = yyj55 > l
	} else {
		yyb55 = r.CheckBreak()
	}
	if yyb55 {
		r.ReadArrayEnd()
		return
	}
	r.ReadArrayEntrySeparator()
	if r.TryDecodeAsNil() {
		x.TTL = 0
	} else {
		x.TTL = int64(r.DecodeInt(64))
	}
	yyj55++
	if yyhl55 {
		yyb55 = yyj55 > l
	} else {
		yyb55 = r.CheckBreak()
	}
	if yyb55 {
		r.ReadArrayEnd()
		return
//.........这里部分代码省略.........
开发者ID:naviantech,项目名称:vulcand,代码行数:101,代码来源:response.generated.go

示例10: decNodes

func (x codecSelfer1819) decNodes(v *Nodes, d *codec1978.Decoder) {
	var h codecSelfer1819
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv71 := *v
	yyh71, yyl71 := z.DecSliceHelperStart()
	var yyc71 bool
	if yyl71 == 0 {
		if yyv71 == nil {
			yyv71 = []*Node{}
			yyc71 = true
		} else if len(yyv71) != 0 {
			yyv71 = yyv71[:0]
			yyc71 = true
		}
	} else if yyl71 > 0 {
		var yyrr71, yyrl71 int
		var yyrt71 bool
		if yyl71 > cap(yyv71) {

			yyrg71 := len(yyv71) > 0
			yyv271 := yyv71
			yyrl71, yyrt71 = z.DecInferLen(yyl71, z.DecBasicHandle().MaxInitLen, 8)
			if yyrt71 {
				if yyrl71 <= cap(yyv71) {
					yyv71 = yyv71[:yyrl71]
				} else {
					yyv71 = make([]*Node, yyrl71)
				}
			} else {
				yyv71 = make([]*Node, yyrl71)
			}
			yyc71 = true
			yyrr71 = len(yyv71)
			if yyrg71 {
				copy(yyv71, yyv271)
			}
		} else if yyl71 != len(yyv71) {
			yyv71 = yyv71[:yyl71]
			yyc71 = true
		}
		yyj71 := 0
		for ; yyj71 < yyrr71; yyj71++ {
			yyh71.ElemContainerState(yyj71)
			if r.TryDecodeAsNil() {
				if yyv71[yyj71] != nil {
					*yyv71[yyj71] = Node{}
				}
			} else {
				if yyv71[yyj71] == nil {
					yyv71[yyj71] = new(Node)
				}
				yyw72 := yyv71[yyj71]
				yyw72.CodecDecodeSelf(d)
			}

		}
		if yyrt71 {
			for ; yyj71 < yyl71; yyj71++ {
				yyv71 = append(yyv71, nil)
				yyh71.ElemContainerState(yyj71)
				if r.TryDecodeAsNil() {
					if yyv71[yyj71] != nil {
						*yyv71[yyj71] = Node{}
					}
				} else {
					if yyv71[yyj71] == nil {
						yyv71[yyj71] = new(Node)
					}
					yyw73 := yyv71[yyj71]
					yyw73.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj71 := 0
		for ; !r.CheckBreak(); yyj71++ {

			if yyj71 >= len(yyv71) {
				yyv71 = append(yyv71, nil) // var yyz71 *Node
				yyc71 = true
			}
			yyh71.ElemContainerState(yyj71)
			if yyj71 < len(yyv71) {
				if r.TryDecodeAsNil() {
					if yyv71[yyj71] != nil {
						*yyv71[yyj71] = Node{}
					}
				} else {
					if yyv71[yyj71] == nil {
						yyv71[yyj71] = new(Node)
					}
					yyw74 := yyv71[yyj71]
					yyw74.CodecDecodeSelf(d)
				}

			} else {
//.........这里部分代码省略.........
开发者ID:huhoo,项目名称:vulcand,代码行数:101,代码来源:keys.generated.go

示例11: decNodes

func (x codecSelfer1978) decNodes(v *Nodes, d *codec1978.Decoder) {
	var h codecSelfer1978
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv123 := *v
	yyh123, yyl123 := z.DecSliceHelperStart()
	var yyc123 bool
	if yyl123 == 0 {
		if yyv123 == nil {
			yyv123 = []*Node{}
			yyc123 = true
		} else if len(yyv123) != 0 {
			yyv123 = yyv123[:0]
			yyc123 = true
		}
	} else if yyl123 > 0 {
		var yyrr123, yyrl123 int
		var yyrt123 bool
		if yyl123 > cap(yyv123) {

			yyrg123 := len(yyv123) > 0
			yyv2123 := yyv123
			yyrl123, yyrt123 = z.DecInferLen(yyl123, z.DecBasicHandle().MaxInitLen, 8)
			if yyrt123 {
				if yyrl123 <= cap(yyv123) {
					yyv123 = yyv123[:yyrl123]
				} else {
					yyv123 = make([]*Node, yyrl123)
				}
			} else {
				yyv123 = make([]*Node, yyrl123)
			}
			yyc123 = true
			yyrr123 = len(yyv123)
			if yyrg123 {
				copy(yyv123, yyv2123)
			}
		} else if yyl123 != len(yyv123) {
			yyv123 = yyv123[:yyl123]
			yyc123 = true
		}
		yyj123 := 0
		for ; yyj123 < yyrr123; yyj123++ {
			yyh123.ElemContainerState(yyj123)
			if r.TryDecodeAsNil() {
				if yyv123[yyj123] != nil {
					*yyv123[yyj123] = Node{}
				}
			} else {
				if yyv123[yyj123] == nil {
					yyv123[yyj123] = new(Node)
				}
				yyw124 := yyv123[yyj123]
				yyw124.CodecDecodeSelf(d)
			}

		}
		if yyrt123 {
			for ; yyj123 < yyl123; yyj123++ {
				yyv123 = append(yyv123, nil)
				yyh123.ElemContainerState(yyj123)
				if r.TryDecodeAsNil() {
					if yyv123[yyj123] != nil {
						*yyv123[yyj123] = Node{}
					}
				} else {
					if yyv123[yyj123] == nil {
						yyv123[yyj123] = new(Node)
					}
					yyw125 := yyv123[yyj123]
					yyw125.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj123 := 0
		for ; !r.CheckBreak(); yyj123++ {

			if yyj123 >= len(yyv123) {
				yyv123 = append(yyv123, nil) // var yyz123 *Node
				yyc123 = true
			}
			yyh123.ElemContainerState(yyj123)
			if yyj123 < len(yyv123) {
				if r.TryDecodeAsNil() {
					if yyv123[yyj123] != nil {
						*yyv123[yyj123] = Node{}
					}
				} else {
					if yyv123[yyj123] == nil {
						yyv123[yyj123] = new(Node)
					}
					yyw126 := yyv123[yyj123]
					yyw126.CodecDecodeSelf(d)
				}

			} else {
//.........这里部分代码省略.........
开发者ID:huhoo,项目名称:vulcand,代码行数:101,代码来源:response.generated.go

示例12: codecDecodeSelfFromArray

func (x *Response) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1819
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj14 int
	var yyb14 bool
	var yyhl14 bool = l >= 0
	yyj14++
	if yyhl14 {
		yyb14 = yyj14 > l
	} else {
		yyb14 = r.CheckBreak()
	}
	if yyb14 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1819)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1819)
	if r.TryDecodeAsNil() {
		x.Action = ""
	} else {
		x.Action = string(r.DecodeString())
	}
	yyj14++
	if yyhl14 {
		yyb14 = yyj14 > l
	} else {
		yyb14 = r.CheckBreak()
	}
	if yyb14 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1819)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1819)
	if r.TryDecodeAsNil() {
		if x.Node != nil {
			x.Node = nil
		}
	} else {
		if x.Node == nil {
			x.Node = new(Node)
		}
		x.Node.CodecDecodeSelf(d)
	}
	yyj14++
	if yyhl14 {
		yyb14 = yyj14 > l
	} else {
		yyb14 = r.CheckBreak()
	}
	if yyb14 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1819)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1819)
	if r.TryDecodeAsNil() {
		if x.PrevNode != nil {
			x.PrevNode = nil
		}
	} else {
		if x.PrevNode == nil {
			x.PrevNode = new(Node)
		}
		x.PrevNode.CodecDecodeSelf(d)
	}
	for {
		yyj14++
		if yyhl14 {
			yyb14 = yyj14 > l
		} else {
			yyb14 = r.CheckBreak()
		}
		if yyb14 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1819)
		z.DecStructFieldNotFound(yyj14-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1819)
}
开发者ID:huhoo,项目名称:vulcand,代码行数:80,代码来源:keys.generated.go

示例13: codecDecodeSelfFromArray

func (x *RawResponse) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1978
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj22 int
	var yyb22 bool
	var yyhl22 bool = l >= 0
	yyj22++
	if yyhl22 {
		yyb22 = yyj22 > l
	} else {
		yyb22 = r.CheckBreak()
	}
	if yyb22 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1978)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1978)
	if r.TryDecodeAsNil() {
		x.StatusCode = 0
	} else {
		x.StatusCode = int(r.DecodeInt(codecSelferBitsize1978))
	}
	yyj22++
	if yyhl22 {
		yyb22 = yyj22 > l
	} else {
		yyb22 = r.CheckBreak()
	}
	if yyb22 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1978)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1978)
	if r.TryDecodeAsNil() {
		x.Body = nil
	} else {
		yyv24 := &x.Body
		yym25 := z.DecBinary()
		_ = yym25
		if false {
		} else {
			*yyv24 = r.DecodeBytes(*(*[]byte)(yyv24), false, false)
		}
	}
	yyj22++
	if yyhl22 {
		yyb22 = yyj22 > l
	} else {
		yyb22 = r.CheckBreak()
	}
	if yyb22 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1978)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1978)
	if r.TryDecodeAsNil() {
		x.Header = nil
	} else {
		yyv26 := &x.Header
		yym27 := z.DecBinary()
		_ = yym27
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv26) {
		} else {
			h.dechttp_Header((*pkg1_http.Header)(yyv26), d)
		}
	}
	for {
		yyj22++
		if yyhl22 {
			yyb22 = yyj22 > l
		} else {
			yyb22 = r.CheckBreak()
		}
		if yyb22 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1978)
		z.DecStructFieldNotFound(yyj22-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1978)
}
开发者ID:huhoo,项目名称:vulcand,代码行数:83,代码来源:response.generated.go

示例14: dechttp_Header

func (x codecSelfer1978) dechttp_Header(v *pkg1_http.Header, d *codec1978.Decoder) {
	var h codecSelfer1978
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv115 := *v
	yyl115 := r.ReadMapStart()
	yybh115 := z.DecBasicHandle()
	if yyv115 == nil {
		yyrl115, _ := z.DecInferLen(yyl115, yybh115.MaxInitLen, 40)
		yyv115 = make(map[string][]string, yyrl115)
		*v = yyv115
	}
	var yymk115 string
	var yymv115 []string
	var yymg115 bool
	if yybh115.MapValueReset {
		yymg115 = true
	}
	if yyl115 > 0 {
		for yyj115 := 0; yyj115 < yyl115; yyj115++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1978)
			if r.TryDecodeAsNil() {
				yymk115 = ""
			} else {
				yymk115 = string(r.DecodeString())
			}

			if yymg115 {
				yymv115 = yyv115[yymk115]
			} else {
				yymv115 = nil
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1978)
			if r.TryDecodeAsNil() {
				yymv115 = nil
			} else {
				yyv117 := &yymv115
				yym118 := z.DecBinary()
				_ = yym118
				if false {
				} else {
					z.F.DecSliceStringX(yyv117, false, d)
				}
			}

			if yyv115 != nil {
				yyv115[yymk115] = yymv115
			}
		}
	} else if yyl115 < 0 {
		for yyj115 := 0; !r.CheckBreak(); yyj115++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1978)
			if r.TryDecodeAsNil() {
				yymk115 = ""
			} else {
				yymk115 = string(r.DecodeString())
			}

			if yymg115 {
				yymv115 = yyv115[yymk115]
			} else {
				yymv115 = nil
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1978)
			if r.TryDecodeAsNil() {
				yymv115 = nil
			} else {
				yyv120 := &yymv115
				yym121 := z.DecBinary()
				_ = yym121
				if false {
				} else {
					z.F.DecSliceStringX(yyv120, false, d)
				}
			}

			if yyv115 != nil {
				yyv115[yymk115] = yymv115
			}
		}
	} // else len==0: TODO: Should we clear map entries?
	z.DecSendContainerState(codecSelfer_containerMapEnd1978)
}
开发者ID:huhoo,项目名称:vulcand,代码行数:84,代码来源:response.generated.go


注:本文中的github.com/vulcand/vulcand/Godeps/_workspace/src/github.com/ugorji/go/codec.GenHelperDecoder函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。