mirror of
https://github.com/fumiama/terasu-cloudflared.git
synced 2026-06-13 06:50:29 +08:00
TUN-528: Move cloudflared into a separate repo
This commit is contained in:
87
vendor/zombiezen.com/go/capnproto2/pogs/example_test.go
generated
vendored
Normal file
87
vendor/zombiezen.com/go/capnproto2/pogs/example_test.go
generated
vendored
Normal file
@@ -0,0 +1,87 @@
|
||||
package pogs_test
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"zombiezen.com/go/capnproto2"
|
||||
"zombiezen.com/go/capnproto2/internal/demo/books"
|
||||
"zombiezen.com/go/capnproto2/pogs"
|
||||
)
|
||||
|
||||
var bookData = []byte{
|
||||
0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00,
|
||||
0xa0, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00,
|
||||
0x57, 0x61, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20,
|
||||
0x50, 0x65, 0x61, 0x63, 0x65, 0x00, 0x00, 0x00,
|
||||
}
|
||||
|
||||
func ExampleExtract() {
|
||||
// books.capnp:
|
||||
// struct Book {
|
||||
// title @0 :Text;
|
||||
// pageCount @1 :Int32;
|
||||
// }
|
||||
|
||||
type Book struct {
|
||||
Title string
|
||||
PageCount int32
|
||||
}
|
||||
|
||||
// Read the message from bytes.
|
||||
msg, err := capnp.Unmarshal(bookData)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
root, err := msg.RootPtr()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
// Extract the book from the root struct.
|
||||
b := new(Book)
|
||||
if err := pogs.Extract(b, books.Book_TypeID, root.Struct()); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
fmt.Printf("%q has %d pages\n", b.Title, b.PageCount)
|
||||
|
||||
// Output:
|
||||
// "War and Peace" has 1440 pages
|
||||
}
|
||||
|
||||
func ExampleInsert() {
|
||||
// books.capnp:
|
||||
// struct Book {
|
||||
// title @0 :Text;
|
||||
// pageCount @1 :Int32;
|
||||
// }
|
||||
|
||||
type Book struct {
|
||||
Title string
|
||||
PageCount int32
|
||||
}
|
||||
|
||||
// Allocate a new Cap'n Proto Book struct.
|
||||
_, seg, err := capnp.NewMessage(capnp.SingleSegment(nil))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
root, err := books.NewRootBook(seg)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
// Insert the book struct into the Cap'n Proto struct.
|
||||
b := &Book{
|
||||
Title: "War and Peace",
|
||||
PageCount: 1440,
|
||||
}
|
||||
if err := pogs.Insert(books.Book_TypeID, root.Struct, b); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
fmt.Println(root)
|
||||
|
||||
// Output:
|
||||
// (title = "War and Peace", pageCount = 1440)
|
||||
}
|
||||
Reference in New Issue
Block a user