lib3h_p2p_protocol

Crates.iolib3h_p2p_protocol
lib.rslib3h_p2p_protocol
version0.0.42
sourcesrc
created_at2019-07-09 16:46:55.480973
updated_at2020-03-10 19:44:14.753449
descriptionLib3h Protocol definition for inter-node p2p communication.
homepage
repositoryhttps://github.com/holochain/lib3h
max_upload_size
id147885
size278,161
Eric Harris-Braun (zippy)

documentation

https://docs.rs/lib3h_p2p_protocol

README

lib3h_p2p_protocol

Project Chat

Twitter Follow

License: Apache-2.0

Overview

Lib3h Protocol definition for inter-node p2p communication.

There are a lot of options for wire protocol definition tooling. In a lot of ways Protocol Buffers through the prost crate is more ergonomic to work with as it gives you standard rust structures and enums that are just annotated to work with the encoding / decoding library.

We've chosen to use Cap'n Proto through the capnp crate. The encoding / decoding is more memory efficient as it works directly with the wire buffer at the expense of having to navigate the data structure hierarchy through accessors.

The aggregate p2p protocol is split into 3 separate protocol schema files:

Contribute

Holochain is an open source project. We welcome all sorts of participation and are actively working on increasing surface area to accept it. Please see our contributing guidelines for our general practices and protocols on participating in the community.

License

License: Apache-2.0

Copyright (C) 2019, Holochain Foundation

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Commit count: 2587

cargo fmt