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


Golang go-capnproto.Object函数代码示例

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


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

示例1: zdateFilledSegment

func zdateFilledSegment(n int, packed bool) (*capn.Segment, []byte) {
	seg := capn.NewBuffer(nil)
	z := air.NewRootZ(seg)
	list := air.NewZdateList(seg, n)
	// hand added a Set() method to messages_test.go, so plist not needed
	plist := capn.PointerList(list)

	for i := 0; i < n; i++ {
		d := air.NewZdate(seg)
		d.SetMonth(12)
		d.SetDay(7)
		d.SetYear(int16(2004 + i))
		plist.Set(i, capn.Object(d))
		//list.Set(i, d)
	}
	z.SetZdatevec(list)

	buf := bytes.Buffer{}
	if packed {
		seg.WriteToPacked(&buf)
	} else {
		seg.WriteTo(&buf)
	}
	return seg, buf.Bytes()
}
开发者ID:hodduc,项目名称:go-capnproto,代码行数:25,代码来源:common_test.go

示例2: TestV0ListofEmptyShouldMatchCapnp

func TestV0ListofEmptyShouldMatchCapnp(t *testing.T) {

	exp := CapnpEncode("(mylist = [(),()])", "HoldsVerEmptyList")

	cv.Convey("Given an empty struct with 0 data/0 ptr fields", t, func() {
		cv.Convey("then a list of 2 empty structs should match the capnp representation", func() {

			seg := capn.NewBuffer(nil)
			scratch := capn.NewBuffer(nil)
			holder := air.NewRootHoldsVerEmptyList(seg)

			ShowSeg("          after NewRootHoldsVerEmptyList(seg), segment seg is:", seg)

			elist := air.NewVerEmptyList(seg, 2)
			plist := capn.PointerList(elist)

			ShowSeg("          pre NewVerEmpty(scratch), segment seg is:", seg)

			e0 := air.NewVerEmpty(scratch)
			e1 := air.NewVerEmpty(scratch)
			plist.Set(0, capn.Object(e0))
			plist.Set(1, capn.Object(e1))

			ShowSeg("          pre SetMylist, segment seg is:", seg)

			fmt.Printf("Then we do the SetMylist():\n")
			holder.SetMylist(elist)

			// save
			buf := bytes.Buffer{}
			seg.WriteTo(&buf)
			act := buf.Bytes()
			save(act, "my.act.holder.elist")

			// show
			ShowSeg("          actual:\n", seg)

			fmt.Printf("act decoded by capnp: '%s'\n", string(CapnpDecode(act, "HoldsVerEmptyList")))

			fmt.Printf("expected:\n")
			ShowBytes(exp, 10)
			fmt.Printf("exp decoded by capnp: '%s'\n", string(CapnpDecode(exp, "HoldsVerEmptyList")))

			cv.So(act, cv.ShouldResemble, exp)
		})
	})
}
开发者ID:hodduc,项目名称:go-capnproto,代码行数:47,代码来源:version_test.go

示例3: TestZserverWithOneEmptyJob

func TestZserverWithOneEmptyJob(t *testing.T) {

	exp := CapnpEncode(`(waitingjobs = [()])`, "Zserver")

	cv.Convey("Given an Zserver with one empty job", t, func() {
		cv.Convey("then the go-capnproto serialization should match the capnp c++ serialization", func() {

			seg := capn.NewBuffer(nil)
			scratch := capn.NewBuffer(nil)
			server := air.NewRootZserver(seg)

			joblist := air.NewZjobList(seg, 1)
			plist := capn.PointerList(joblist)

			ShowSeg("          pre NewZjob, segment seg is:", seg)

			zjob := air.NewZjob(scratch)
			plist.Set(0, capn.Object(zjob))

			ShowSeg("          pre SetWaitingjobs, segment seg is:", seg)

			fmt.Printf("Then we do the SetWaitingjobs:\n")
			server.SetWaitingjobs(joblist)

			// save
			buf := bytes.Buffer{}
			seg.WriteTo(&buf)
			act := buf.Bytes()
			save(act, "my.act.zserver")

			// show
			ShowSeg("          actual:\n", seg)

			fmt.Printf("act decoded by capnp: '%s'\n", string(CapnpDecode(act, "Zserver")))

			fmt.Printf("expected:\n")
			ShowBytes(exp, 10)
			fmt.Printf("exp decoded by capnp: '%s'\n", string(CapnpDecode(exp, "Zserver")))

			cv.So(act, cv.ShouldResemble, exp)
		})
	})
}
开发者ID:hodduc,项目名称:go-capnproto,代码行数:43,代码来源:struct_test.go

示例4: TestZserverWithOneFullJob

func TestZserverWithOneFullJob(t *testing.T) {

	exp := CapnpEncode(`(waitingjobs = [(cmd = "abc", args = ["xyz"])])`, "Zserver")

	cv.Convey("Given an Zserver with one empty job", t, func() {
		cv.Convey("then the go-capnproto serialization should match the capnp c++ serialization", func() {

			seg := capn.NewBuffer(nil)
			scratch := capn.NewBuffer(nil)

			server := air.NewRootZserver(seg)

			joblist := air.NewZjobList(seg, 1)
			plist := capn.PointerList(joblist)

			zjob := air.NewZjob(scratch)
			zjob.SetCmd("abc")
			tl := scratch.NewTextList(1)
			tl.Set(0, "xyz")
			zjob.SetArgs(tl)

			plist.Set(0, capn.Object(zjob))

			server.SetWaitingjobs(joblist)

			buf := bytes.Buffer{}
			seg.WriteTo(&buf)

			act := buf.Bytes()
			fmt.Printf("          actual:\n")
			ShowBytes(act, 10)
			fmt.Printf("act decoded by capnp: '%s'\n", string(CapnpDecode(act, "Zserver")))
			save(act, "myact")

			fmt.Printf("expected:\n")
			ShowBytes(exp, 10)
			fmt.Printf("exp decoded by capnp: '%s'\n", string(CapnpDecode(exp, "Zserver")))
			save(exp, "myexp")

			cv.So(act, cv.ShouldResemble, exp)
		})
	})
}
开发者ID:hodduc,项目名称:go-capnproto,代码行数:43,代码来源:struct_test.go

示例5: RWTestGoToCapn

func RWTestGoToCapn(seg *capn.Segment, src *RWTest) air.RWTestCapn {
	dest := air.AutoNewRWTestCapn(seg)

	// NestMatrix -> Nester1Capn (go slice to capn list)
	if len(src.NestMatrix) > 0 {
		//typedList := air.NewNester1CapnList(seg, len(src.NestMatrix))
		plist := seg.NewPointerList(len(src.NestMatrix))
		i := 0
		for _, ele := range src.NestMatrix {
			//plist.Set(i, capn.Object(Nester1GoToCapn(seg, &ele)))
			r := capn.Object(SliceNester1ToNester1CapnList(seg, ele))
			plist.Set(i, r)
			i++
		}
		//dest.SetNestMatrix(typedList)
		dest.SetNestMatrix(plist)
	}

	return dest
}
开发者ID:hodduc,项目名称:go-capnproto,代码行数:20,代码来源:nested_test.go

示例6: SetMatch

func (s Z) SetMatch(v Match) { C.Struct(s).Set16(0, 1); C.Struct(s).SetObject(0, C.Object(v)) }
开发者ID:jamessan,项目名称:dcs,代码行数:1,代码来源:sourcebackend.capnp.go

示例7: Set

func (s Routable_List) Set(i int, item Routable) { C.PointerList(s).Set(i, C.Object(item)) }
开发者ID:jrconlin,项目名称:pushgo,代码行数:1,代码来源:routable.capnp.go

示例8: SetInsertValues

func (s Request) SetInsertValues(v CmdInsertValues) {
	C.Struct(s).Set16(8, 6)
	C.Struct(s).SetObject(0, C.Object(v))
}
开发者ID:gtfierro,项目名称:giles2,代码行数:4,代码来源:interface.capnp.go

示例9: SetQueryChangedRanges

func (s Request) SetQueryChangedRanges(v CmdQueryChangedRanges) {
	C.Struct(s).Set16(8, 5)
	C.Struct(s).SetObject(0, C.Object(v))
}
开发者ID:gtfierro,项目名称:giles2,代码行数:4,代码来源:interface.capnp.go

示例10: SetUuids

func (s Versions) SetUuids(v C.DataList)      { C.Struct(s).SetObject(0, C.Object(v)) }
开发者ID:gtfierro,项目名称:giles2,代码行数:1,代码来源:interface.capnp.go

示例11: SetQueryNearestValue

func (s Request) SetQueryNearestValue(v CmdQueryNearestValue) {
	C.Struct(s).Set16(8, 4)
	C.Struct(s).SetObject(0, C.Object(v))
}
开发者ID:gtfierro,项目名称:giles2,代码行数:4,代码来源:interface.capnp.go

示例12: SetQueryVersion

func (s Request) SetQueryVersion(v CmdQueryVersion) {
	C.Struct(s).Set16(8, 3)
	C.Struct(s).SetObject(0, C.Object(v))
}
开发者ID:gtfierro,项目名称:giles2,代码行数:4,代码来源:interface.capnp.go

示例13: SetValues

func (s Records) SetValues(v Record_List)  { C.Struct(s).SetObject(0, C.Object(v)) }
开发者ID:gtfierro,项目名称:giles2,代码行数:1,代码来源:interface.capnp.go

示例14: SetQueryStandardValues

func (s Request) SetQueryStandardValues(v CmdQueryStandardValues) {
	C.Struct(s).Set16(8, 1)
	C.Struct(s).SetObject(0, C.Object(v))
}
开发者ID:gtfierro,项目名称:giles2,代码行数:4,代码来源:interface.capnp.go

示例15: SetVersions

func (s Versions) SetVersions(v C.UInt64List) { C.Struct(s).SetObject(1, C.Object(v)) }
开发者ID:gtfierro,项目名称:giles2,代码行数:1,代码来源:interface.capnp.go


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