Crate capnp [] [src]

Cap'n Proto Runtime Library

Cap'n Proto is an extremely efficient protocol for sharing data and capabilities.

The Rust implementation is split into three separate crates.

Code generation is handled by capnpc-rust.

The present crate is the runtime library required by that generated code. It is hosted on Github here.

capnp-rpc-rust is an implementation of a distributed object-capability layer.

Modules

any_pointer

Dynamically typed value.

capability

Hooks for for the RPC system.

data

Sequence of bytes.

data_list

List of sequences of bytes.

enum_list

List of enums.

list_list

List of lists.

message

Untyped root container for a Cap'n Proto value.

primitive_list

List of primitives.

private

Implementation details that should never be directly used by clients.

serialize

Reading and writing of messages using the standard stream framing.

serialize_packed

Reading and writing of messages using the packed stream encoding.

struct_list

List of structs.

text

UTF-8 encoded text.

text_list

List of strings containing UTF-8 encoded text.

traits

Macros

capnp_word!

Constructs a Word from its constituent bytes. This macro can be used to construct constants. In the future, when Rust supports constant functions, this macro will be replaced by such a function.

Structs

Error

Describes an arbitrary error that prevented an operation from completing.

MessageSize

Size of a message. Every generated struct has a method .total_size() that returns this.

NotInSchema

An enum value or union discriminant that was not found among those defined in a schema.

Word

Eight bytes of memory with opaque interior. Use capnp_word!() to construct one of these.

Enums

ErrorKind
OutputSegments

Helper struct that allows MessageBuilder::get_segments_for_output() to avoid heap allocations in the single-segment case.

Type Definitions

Result

Because messages are lazily validated, the return type of any method that reads a pointer field must be wrapped in a Result.