本文整理汇总了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()
}
示例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)
})
})
}
示例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)
})
})
}
示例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)
})
})
}
示例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
}
示例6: SetMatch
func (s Z) SetMatch(v Match) { C.Struct(s).Set16(0, 1); C.Struct(s).SetObject(0, C.Object(v)) }
示例7: Set
func (s Routable_List) Set(i int, item Routable) { C.PointerList(s).Set(i, C.Object(item)) }
示例8: SetInsertValues
func (s Request) SetInsertValues(v CmdInsertValues) {
C.Struct(s).Set16(8, 6)
C.Struct(s).SetObject(0, C.Object(v))
}
示例9: SetQueryChangedRanges
func (s Request) SetQueryChangedRanges(v CmdQueryChangedRanges) {
C.Struct(s).Set16(8, 5)
C.Struct(s).SetObject(0, C.Object(v))
}
示例10: SetUuids
func (s Versions) SetUuids(v C.DataList) { C.Struct(s).SetObject(0, C.Object(v)) }
示例11: SetQueryNearestValue
func (s Request) SetQueryNearestValue(v CmdQueryNearestValue) {
C.Struct(s).Set16(8, 4)
C.Struct(s).SetObject(0, C.Object(v))
}
示例12: SetQueryVersion
func (s Request) SetQueryVersion(v CmdQueryVersion) {
C.Struct(s).Set16(8, 3)
C.Struct(s).SetObject(0, C.Object(v))
}
示例13: SetValues
func (s Records) SetValues(v Record_List) { C.Struct(s).SetObject(0, C.Object(v)) }
示例14: SetQueryStandardValues
func (s Request) SetQueryStandardValues(v CmdQueryStandardValues) {
C.Struct(s).Set16(8, 1)
C.Struct(s).SetObject(0, C.Object(v))
}
示例15: SetVersions
func (s Versions) SetVersions(v C.UInt64List) { C.Struct(s).SetObject(1, C.Object(v)) }