Ecosyste.ms: Packages

An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

Top 1.3% on proxy.golang.org
Top 0.6% dependent packages on proxy.golang.org
Top 0.6% dependent repos on proxy.golang.org
Top 2.9% forks on proxy.golang.org
Top 0.4% docker downloads on proxy.golang.org

proxy.golang.org : zombiezen.com/go/capnproto2

Package capnp is a Cap'n Proto library for Go. https://capnproto.org/ Read the Getting Started guide for a tutorial on how to use this package. https://github.com/capnproto/go-capnproto2/wiki/Getting-Started capnpc-go provides the compiler backend for capnp. capnpc-go requires two annotations for all files: package and import. package is needed to know what package to place at the head of the generated file and what identifier to use when referring to the type from another package. import should be the fully qualified import path and is used to generate import statement from other packages and to detect when two types are in the same package. For example: For adding documentation comments to the generated code, there's the doc annotation. This annotation adds the comment to a struct, enum or field so that godoc will pick it up. For example: In Cap'n Proto, the unit of communication is a message. A message consists of one or more segments -- contiguous blocks of memory. This allows large messages to be split up and loaded independently or lazily. Typically you will use one segment per message. Logically, a message is organized in a tree of objects, with the root always being a struct (as opposed to a list or primitive). Messages can be read from and written to a stream. The Message and Segment types are the main types that application code will use from this package. The Message type has methods for marshaling and unmarshaling its segments to the wire format. If the application needs to read or write from a stream, it should use the Encoder and Decoder types. The type for a generic reference to a Cap'n Proto object is Ptr. A Ptr can refer to a struct, a list, or an interface. Ptr, Struct, List, and Interface (the pointer types) have value semantics and refer to data in a single segment. All of the pointer types have a notion of "valid". An invalid pointer will return the default value from any accessor and panic when any setter is called. In previous versions of this package, the Pointer interface was used instead of the Ptr struct. This interface and functions that use it are now deprecated. See https://github.com/capnproto/go-capnproto2/wiki/New-Ptr-Type for details about this API change. Data accessors and setters (i.e. struct primitive fields and list elements) do not return errors, but pointer accessors and setters do. There are a few reasons that a read or write of a pointer can fail, but the most common are bad pointers or allocation failures. For accessors, an invalid object will be returned in case of an error. Since Go doesn't have generics, wrapper types provide type safety on lists. This package provides lists of basic types, and capnpc-go generates list wrappers for named types. However, if you need to use deeper nesting of lists (e.g. List(List(UInt8))), you will need to use a PointerList and wrap the elements. For the following schema: capnpc-go will generate: For each group a typedef is created with a different method set for just the groups fields: generates the following: That way the following may be used to access a field in a group: Note that group accessors just convert the type and so have no overhead. Named unions are treated as a group with an inner unnamed union. Unnamed unions generate an enum Type_Which and a corresponding Which() function: generates the following: Which() should be checked before using the getters, and the default case must always be handled. Setters for single values will set the union discriminator as well as set the value. For voids in unions, there is a void setter that just sets the discriminator. For example: generates the following: Similarly, for groups in unions, there is a group setter that just sets the discriminator. This must be called before the group getter can be used to set values. For example: and in usage: capnpc-go generates enum values as constants. For example in the capnp file: In the generated capnp.go file: In addition an enum.String() function is generated that will convert the constants to a string for debugging or logging purposes. By default, the enum name is used as the tag value, but the tags can be customized with a $Go.tag or $Go.notag annotation. For example: In the generated go file: capnpc-go generates type-safe Client wrappers for interfaces. For parameter lists and result lists, structs are generated as described above with the names Interface_method_Params and Interface_method_Results, unless a single struct type is used. For example, for this interface: capnpc-go generates the following Go code (along with the structs Calculator_evaluate_Params and Calculator_evaluate_Results): capnpc-go also generates code to implement the interface: Since a single capability may want to implement many interfaces, you can use multiple *_Methods functions to build a single slice to send to NewServer. An example of combining the client/server code to communicate with a locally implemented Calculator: A note about message ordering: when implementing a server method, you are responsible for acknowledging delivery of a method call. Failure to do so can cause deadlocks. See the server.Ack function for more details.

Registry - Source - Documentation - JSON
purl: pkg:golang/zombiezen.com/go/capnproto2
Keywords: capabilities, capability-based, capn-proto, capnp, capnproto, go, golang, object-capabilities, rpc, serialization
License: MIT
Latest release: about 3 years ago
First release: over 8 years ago
Namespace: zombiezen.com/go
Dependent packages: 56
Dependent repositories: 101
Stars: 846 on GitHub
Forks: 74 on GitHub
Docker dependents: 224
Docker downloads: 31,220,863
See more repository details: repos.ecosyste.ms
Funding links: https://github.com/sponsors/lthibault, https://github.com/sponsors/zenhack, https://github.com/sponsors/zombiezen
Last synced: 5 days ago

Top 1.9% on proxy.golang.org
github.com/scionproto/scion v0.11.0
SCION Internet Architecture
14 versions - Latest release: 25 days ago - 36 dependent packages - 20 dependent repositories - 283 stars on GitHub
Top 1.6% on proxy.golang.org
github.com/onflow/flow-go v0.35.4
A fast, secure, and developer-friendly blockchain built to support the next generation of games, ...
468 versions - Latest release: 29 days ago - 66 dependent packages - 67 dependent repositories - 480 stars on GitHub
Top 6.1% on proxy.golang.org
github.com/onFlow/flow-go v0.35.4
A fast, secure, and developer-friendly blockchain built to support the next generation of games, ...
445 versions - Latest release: 29 days ago - 500 stars on GitHub
Top 5.2% on proxy.golang.org
github.com/pactus-project/pactus v1.1.4
Pactus blockchain
28 versions - Latest release: about 1 month ago - 2 dependent packages - 1 dependent repositories - 32 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/zarbchain/zarb-go v1.0.2
25 versions - Latest release: 4 months ago
Top 3.6% on proxy.golang.org
github.com/nuclio/nuclio v0.0.0-20240125105057-dc96990e72e0
High-Performance Serverless event and data processing platform
261 versions - Latest release: 4 months ago - 1 dependent repositories - 4,768 stars on GitHub
Top 1.5% on proxy.golang.org
github.com/cloudflare/cloudflared v0.0.0-20240122163559-3ad4b732d45c
Cloudflare Tunnel client (formerly Argo Tunnel)
163 versions - Latest release: 5 months ago - 10 dependent packages - 3 dependent repositories - 5,334 stars on GitHub
github.com/mabels/cloudflared-controller v0.1.4
An Kubernets Ingress/Service Controller for cloudflared
31 versions - Latest release: 5 months ago - 1 stars on GitHub
Top 4.8% on proxy.golang.org
github.com/v3io/v3io-go v0.3.3
Go client for v3io
52 versions - Latest release: 6 months ago - 7 dependent packages - 17 dependent repositories - 3 stars on GitHub
Top 4.6% on proxy.golang.org
github.com/alecthomas/go_serialization_benchmarks v0.0.0-20231122195225-b612d9a1d149 💰
Benchmarks of Go serialization methods
6 versions - Latest release: 7 months ago - 1 dependent package - 1 dependent repositories - 1,412 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/finogeeks/ligase v0.0.0-20231008030903-98709a5512e1
Ligase is a Golang-based implementation of Matrix homeserver, powered by finogeeks https://www.fi...
3 versions - Latest release: 8 months ago - 135 stars on GitHub
github.com/hibrid/statemachine v0.0.0-20230920163901-e448c86b3e25
5 versions - Latest release: 9 months ago - 0 stars on GitHub
Top 3.6% on proxy.golang.org
github.com/coder/coder v0.27.3
A tool that provisions remote development environments via Terraform
139 versions - Latest release: 10 months ago - 2 dependent packages - 1 dependent repositories - 4,200 stars on GitHub
Top 8.2% on proxy.golang.org
go.coder.com/coder v0.27.3
139 versions - Latest release: 10 months ago
Top 4.8% on proxy.golang.org
github.com/v3io/frames v0.12.0
Package frames provides an efficient way of moving data from various sources. The package is com...
167 versions - Latest release: 11 months ago - 2 dependent packages - 3 dependent repositories - 24 stars on GitHub
github.com/kentik/libkflow v0.0.0-20230615193448-0ed60790a1d1
Go kflow sending library with C API
7 versions - Latest release: 12 months ago - 1 dependent repositories - 0 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/fastnetmon/gce_flow_logs_processor v0.0.0-20230502154611-22bfd676b03f
GCE VPC Flow Log consumer via pub/sub and converter into format suitable for FastNetMon
3 versions - Latest release: about 1 year ago - 0 stars on GitHub
Top 4.6% on proxy.golang.org
github.com/v3io/v3io-tsdb v0.14.1
iguazio API lib for time-series DB access and Prometheus TSDB storage driver
92 versions - Latest release: over 1 year ago - 2 dependent packages - 3 dependent repositories - 31 stars on GitHub
Top 7.8% on proxy.golang.org
github.com/v3io/v3ctl v0.1.3
Command line utility for v3io
9 versions - Latest release: over 1 year ago - 0 stars on GitHub
github.com/koko1123/flow-go-1 v0.29.6
A fast, secure, and developer-friendly blockchain built to support the next generation of games, ...
177 versions - Latest release: over 1 year ago - 5 dependent packages - 1 dependent repositories - 0 stars on GitHub
Top 8.2% on proxy.golang.org
zenhack.net/go/docker-spk v0.0.0-20221105023922-b035b5054ba7
Develop sandstorm apps using Docker
2 versions - Latest release: over 1 year ago - 17 stars on GitHub
Top 6.0% on proxy.golang.org
github.com/kentik/ktranslate v1.0.0
System for pulling and pushing network data.
5 versions - Latest release: almost 2 years ago - 1 dependent repositories - 45 stars on GitHub
Top 9.0% on proxy.golang.org
github.com/kmavromati/scionproto-grpcfix v0.8.0
SCION Internet Architecture
11 versions - Latest release: almost 2 years ago - 0 stars on GitHub
Top 4.5% on proxy.golang.org
github.com/regnaio/cloudflared v1.0.0
Cloudflare Tunnel client (formerly Argo Tunnel)
4 versions - Latest release: about 2 years ago - 5,641 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/netsys-lab/bittorrent-over-scion v1.0.3
Current BitTorrent over SCION implementation
5 versions - Latest release: about 2 years ago - 4 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/alonmaor14/v3io-go v0.2.23
38 versions - Latest release: over 2 years ago
Top 8.2% on proxy.golang.org
github.com/AlonMaor14/v3io-go v0.2.23
38 versions - Latest release: over 2 years ago
Top 8.2% on proxy.golang.org
github.com/HALtheWise/bagel v0.0.0-20220130015450-8fc5c25da615
Probably overly-ambitious
1 version - Latest release: over 2 years ago - 0 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/tomershor/v3io-go v0.2.21
Go client for v3io
36 versions - Latest release: over 2 years ago - 0 stars on GitHub
github.com/netsys-lab/dht v0.1.18
Package dht implements a Distributed Hash Table (DHT) part of the BitTorrent protocol, as specifi...
19 versions - Latest release: over 2 years ago - 2 dependent packages - 1 dependent repositories - 0 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/raf924/bot-caprpc-relay v1.0.5
17 versions - Latest release: over 2 years ago - 0 stars on GitHub
github.com/raf924/connector-api v1.0.1
17 versions - Latest release: over 2 years ago - 10 dependent packages - 2 dependent repositories - 0 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/quaark/v3io-go v0.2.18
Go client for v3io
33 versions - Latest release: over 2 years ago - 0 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/peterargue/flow-go v0.21.0
A fast, secure, and developer-friendly blockchain built to support the next generation of games, ...
139 versions - Latest release: almost 3 years ago - 0 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/liranbg/v3io-go v0.2.16
Go client for v3io
31 versions - Latest release: almost 3 years ago - 0 stars on GitHub
Top 4.1% on proxy.golang.org
github.com/madbase/madnet v0.5.0 removed
1 version - Latest release: about 3 years ago
Top 5.7% on proxy.golang.org
github.com/MadBase/MadNet v0.5.0
Official repository for the Madnet layer2 blockchain
1 version - Latest release: about 3 years ago - 4 dependent packages - 1 dependent repositories - 10 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/JonasGessner/scion v0.6.0
This repository represents the current SCION version deployed at SCIONLab.
1 version - Latest release: over 3 years ago - 0 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/jonasgessner/scion v0.6.0
This repository represents the current SCION version deployed at SCIONLab.
8 versions - Latest release: over 3 years ago - 0 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/joelwanner/scion v0.6.0
8 versions - Latest release: over 3 years ago
Top 6.0% on proxy.golang.org
github.com/netsec-ethz/scion v0.6.0
This repository represents the current SCION version deployed at SCIONLab.
8 versions - Latest release: over 3 years ago - 5 dependent repositories - 22 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/netsec-ethz/netsec-scion v0.6.0
8 versions - Latest release: over 3 years ago
Top 8.2% on proxy.golang.org
github.com/alexbondar92/v3io-go v0.2.3
Go client for v3io
18 versions - Latest release: over 3 years ago - 0 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/assaf758/v3io-go v0.2.3
18 versions - Latest release: over 3 years ago
Top 8.2% on proxy.golang.org
notabug.org/apiote/amuse v0.4.0
4 versions - Latest release: over 3 years ago
Top 8.2% on proxy.golang.org
github.com/indradb/go-client v0.0.0-20201106025649-eb74e32e289d
1 version - Latest release: over 3 years ago
Top 5.8% on proxy.golang.org
github.com/gojisvm/gojis v0.0.0-20200730075328-4ed146b7e7f1
Package gojis provides a high level API for interaction with ECMAScript code.
1 version - Latest release: almost 4 years ago - 80 stars on
Top 4.4% on proxy.golang.org
github.com/dapperlabs/nba-smart-contracts v0.1.4
Smart contracts and transactions for Topshot, the official NBA digital collectibles game on the F...
4 versions - Latest release: about 4 years ago - 1 dependent package - 321 stars on GitHub
Top 7.3% on proxy.golang.org
github.com/jcp19/verifiedscion v0.5.0
A verified version of SCION's go source code
7 versions - Latest release: about 4 years ago - 8 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/mawyss/scion v0.5.0
7 versions - Latest release: about 4 years ago
Top 7.2% on proxy.golang.org
github.com/dutchsec/raven-worker v0.2.7
9 versions - Latest release: over 4 years ago - 1 dependent repositories
Top 8.2% on proxy.golang.org
github.com/NVIDIA/vdisc v0.0.0-20200109173130-5fe3b72c920b
VDisc is a tool for creating and mounting virtual CD-ROM images backed by object storage
1 version - Latest release: over 4 years ago - 22 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/sammynx/raven-worker v0.2.2
4 versions - Latest release: over 4 years ago
Top 8.2% on proxy.golang.org
github.com/sahib/brig v0.4.1
File synchronization on top of ipfs with git like interface & web based UI
6 versions - Latest release: about 5 years ago - 544 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/disorganizer/brig v0.4.1
6 versions - Latest release: about 5 years ago
Top 8.2% on proxy.golang.org
github.com/songjiayang/brig v0.4.0
File synchronization on top of ipfs with git like interface web based UI
5 versions - Latest release: about 5 years ago - 0 stars on GitHub