Skip to main content
Pigweed's logo Pigweed
code_xml
  1. Home
  2. Reference
  3. C/C++
  4. cobs.h File Reference
Loading...
Searching...
No Matches
cobs.h File Reference
#include <array>
#include <cstddef>
#include <cstdint>
#include <cstring>
#include "pw_assert/assert.h"
#include "pw_bytes/span.h"
#include "pw_containers/ptr_iterator.h"
#include "pw_containers/storage.h"
#include "pw_result/result.h"
#include "pw_status/status.h"

Classes

class  pw::cobs::EncodeBuffer< kMaxPayloadSize >
 
class  pw::cobs::Streamer
 
class  pw::cobs::StreamerBuffer< kSizeBytes >
 
class  pw::cobs::Decoder
 
class  pw::cobs::DecoderBuffer< kSizeBytes >
 A Decoder with an inline decode buffer of kSizeBytes bytes. More...
 

Namespaces

namespace  pw
 The Pigweed namespace.
 

Functions

constexpr size_t pw::cobs::MaxEncodedSize (size_t unencoded_size)
 
constexpr size_t pw::cobs::MaxDecodedSize (size_t encoded_size)
 
Result< ByteSpan > pw::cobs::Encode (ConstByteSpan input, ByteSpan output)
 
Result< ByteSpan > pw::cobs::Decode (ConstByteSpan encoded, ByteSpan output)
 
Result< ByteSpan > pw::cobs::EncodeInPlace (ByteSpan buffer, size_t payload_size)
 

Variables

constexpr size_t pw::cobs::kMaxRunLength = 254
 Maximum number of contiguous non-zero bytes in a single COBS block.
 

Detailed Description

Consistent Overhead Byte Stuffing (COBS) encoding and decoding primitives.