<commit_before>[![Build Status](https://travis-ci.org/zombiezen/go-capnproto.svg?branch=master)](https://travis-ci.org/zombiezen/go-capnproto)
[![GoDoc](https://godoc.org/zombiezen.com/go/capnproto?status.svg)](https://godoc.org/zombiezen.com/go/capnproto)

go-capnproto consists of a Go code generator for Cap'n Proto and a Go
package that provides runtime support.  The RPC protocol is not fully
implemented.

News
----

23 July 2015: **Level 0 RPC support (and parts of Level 1)!** Things that work:

- Bootstrap interfaces
- Calls/returns
- Promises
- Releasing capabilities (even uses finalizers with GC in case you forget to close!)

Things that don't work:

- Embargoes
- Cancellation

The rest of Level 1 will be coming soon. -Ross

19 February 2015: This is a fork of Jason Aten's [go-capnproto
branch](https://github.com/glycerine/go-capnproto) that supports Cap'n
Proto interfaces.  It's not API compatible, as I chose to clean up some of the
naming rules to bring it more in line with the Protobuf code generator.
Jason has agreed that this should live as its own fork for a while, but I
will try to upstream as much as possible.  As a result, some branches in
this repo may be used to push smaller features back upstream. -Ross

5 April 2014: <NAME>, the author of go-capnproto (https://github.com/jmckaskill/go-capnproto), 
has been super busy of late, so I agreed to take over as maintainer. This branch 
(https://github.com/glycerine/go-capnproto) includes my recent work to fix bugs in the
creation (originating) of structs for Go, and an implementation of the packing/unpacking capnp specification.
Thanks to <NAME> (https://github.com/alberts/go-capnproto) of CloudFlare for a great set of packing tests. - Jason

Getting started
---------------

You will need the `capnp` tool to compile schemas into Go.  This package has<commit_msg>README: move cancellation to working state<commit_after>[![Build Status](https://travis-ci.org/zombiezen/go-capnproto.svg?branch=master)](https://travis-ci.org/zombiezen/go-capnproto)
[![GoDoc](https://godoc.org/zombiezen.com/go/capnproto?status.svg)](https://godoc.org/zombiezen.com/go/capnproto)

go-capnproto consists of a Go code generator for Cap'n Proto and a Go
package that provides runtime support.  The RPC protocol is not fully
implemented.

News
----

23 July 2015: **Level 0 RPC support (and parts of Level 1)!** Things that work:

- Bootstrap interfaces
- Calls/returns
- Promises
- Releasing capabilities (even uses finalizers with GC in case you forget to close!)
- Cancellation

Things that don't work:

- Embargoes

The rest of Level 1 will be coming soon. -Ross

19 February 2015: This is a fork of Jason Aten's [go-capnproto
branch](https://github.com/glycerine/go-capnproto) that supports Cap'n
Proto interfaces.  It's not API compatible, as I chose to clean up some of the
naming rules to bring it more in line with the Protobuf code generator.
Jason has agreed that this should live as its own fork for a while, but I
will try to upstream as much as possible.  As a result, some branches in
this repo may be used to push smaller features back upstream. -Ross

5 April 2014: <NAME>, the author of go-capnproto (https://github.com/jmckaskill/go-capnproto), 
has been super busy of late, so I agreed to take over as maintainer. This branch 
(https://github.com/glycerine/go-capnproto) includes my recent work to fix bugs in the
creation (originating) of structs for Go, and an implementation of the packing/unpacking capnp specification.
Thanks to <NAME> (https://github.com/alberts/go-capnproto) of CloudFlare for a great set of packing tests. - Jason

Getting started
---------------

You will need the `capnp` tool to compile schemas into Go.  This package has
{'fraction_non_alphanumeric': 0.09392560877709392, 'fraction_numerical': 0.010703773080010704, 'mean_word_length': 4.092643051771117, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 16, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4834284', 'n_tokens_mistral': 1192, 'n_tokens_neox': 1113, 'n_words': 486}