Crate capnp

Source
Expand description

§Cap’n Proto Runtime Library

This crate contains basic facilities for reading and writing Cap’n Proto messages in Rust. It is intended to be used in conjunction with code generated by the capnpc-rust crate.

Modules§

any_pointer
Untyped pointer that can be cast to any struct, list, or capability type.
any_pointer_list
List of AnyPointers.
capability
Hooks for the RPC system.
capability_list
List of capabilities.
constant
Helper type for generated Struct and List constants.
data
Sequence of bytes.
data_list
List of sequences of bytes.
dynamic_list
Dynamically-typed lists.
dynamic_struct
Dynamically-typed structs.
dynamic_value
Dynamically typed values.
enum_list
List of enums.
introspect
Traits and types to support run-time type introspection, i.e. reflection.
io
Custom I/O traits that roughly mirror std::io::{Read, BufRead, Write}. This extra layer of indirection enables support of no-std environments.
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.
raw
Functions providing low level access to encoded data.
schema
Convenience wrappers of the datatypes defined in schema.capnp.
schema_capnp
Code generated from schema.capnp.
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

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
8 bytes, aligned to an 8-byte boundary.

Enums§

ErrorKind
The general nature of an error. The purpose of this enum is not to describe the error itself, but rather to describe how the client might want to respond to the error.
OutputSegments
Helper struct that allows MessageBuilder::get_segments_for_output() to avoid heap allocations in the single-segment case.

Functions§

word
Constructs a word with the given bytes.

Type Aliases§

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