0468866626 | ||
---|---|---|
.. | ||
encoding/text | ||
internal | ||
pogs | ||
rpc | ||
schemas | ||
server | ||
std/capnp/rpc | ||
.gitignore | ||
.travis.yml | ||
AUTHORS | ||
BUILD.bazel | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
CONTRIBUTORS | ||
LICENSE | ||
README.md | ||
WORKSPACE | ||
address.go | ||
canonical.go | ||
capability.go | ||
capn.go | ||
doc.go | ||
go.capnp.go | ||
go.mod | ||
list.go | ||
mem.go | ||
mem_18.go | ||
mem_other.go | ||
pointer.go | ||
rawpointer.go | ||
readlimit.go | ||
regen.sh | ||
strings.go | ||
struct.go |
README.md
Cap'n Proto bindings for Go
go-capnproto consists of:
- a Go code generator for Cap'n Proto
- a Go package that provides runtime support
- a Go package that implements Level 1 of the RPC protocol
Getting started
You will need the capnp
tool to compile schemas into Go.
This package has been tested with Cap'n Proto 0.5.0.
$ go get -u -t zombiezen.com/go/capnproto2/...
$ go test -v zombiezen.com/go/capnproto2/...
This library uses SemVer tags to indicate stable releases. While the goal is that master should always be passing all known tests, tagged releases are vetted more. When possible, use the latest release tag.
$ cd $GOPATH/src/zombiezen.com/go/capnproto2
$ git fetch
$ git checkout v2.16.0 # check the releases page for the latest
Then read the Getting Started guide.
API Compatibility
Consider this package's API as beta software, since the Cap'n Proto spec is not final. In the spirit of the Go 1 compatibility guarantee, I will make every effort to avoid making breaking API changes. The major cases where I reserve the right to make breaking changes are:
- Security.
- Changes in the Cap'n Proto specification.
- Bugs.
The pogs
package is relatively new and may change over time.
However, its functionality has been well-tested and will probably only relax restrictions.
Documentation
See the docs on godoc.org.
What is Cap'n Proto?
The best cerealization...
License
MIT - see LICENSE file