[][src]Crate capnp

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

Dynamically typed value.

any_pointer_list

List of AnyPointers.

capability

Hooks for 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.

enum_list

List of enums.

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.

serialize

Reading and writing of messages using the standard stream framing, where each message is preceded by a segment table indicating the size of its segments.

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

An 8-byte aligned value.

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 Definitions

Result

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