# Design

This page explains rules that apply to all protobuffers, and a bit on how we use them.

## PBEnvelope

<span style="white-space: pre-wrap;">All protobuffers are wrapped in the </span>`<span class="editor-theme-code">PBEnvelope</span>`<span style="white-space: pre-wrap;"> message, which contains metadata we need in all protobufs.</span>

## Lost packets &amp; throttling

<span style="white-space: pre-wrap;">In every line of communications, the packets must be sent periodically. The frequency of sent packets is indicated in their </span>`<span class="editor-theme-code">PBEnvelope</span>`. If the receiver does not get a packet within given timeout, it means the packet was lost. In most cases this means that the brakes should be engaged for safety.