Skip to main content

Protocol

Trait Protocol 

Source
pub trait Protocol:
    ModulationParams
    + FrameLayout
    + 'static {
    type Fec: FecCodec;
    type Msg: MessageCodec;

    const ID: ProtocolId;
}
Expand description

The full protocol description: ties ModulationParams, FrameLayout, a FEC codec and a message codec together under one trait for ergonomic <P: Protocol> bounds.

Required Associated Constants§

Source

const ID: ProtocolId

Runtime tag used at FFI / WASM boundaries.

Required Associated Types§

Source

type Fec: FecCodec

FEC codec carrying N_DATA * BITS_PER_SYMBOL coded bits.

Source

type Msg: MessageCodec

Message codec consuming the FEC-decoded information bits.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Protocol for Fst4s60

Source§

impl Protocol for Ft4

Source§

impl Protocol for Ft8

Source§

impl Protocol for Jt9

Source§

impl Protocol for Jt65

Source§

const ID: ProtocolId = ProtocolId::Jt65

Source§

type Fec = Rs63_12

Source§

type Msg = Jt72Message_

Source§

impl Protocol for Q65a30

Source§

const ID: ProtocolId = ProtocolId::Q65

Source§

type Fec = Q65Fec

Source§

type Msg = Q65Message

Source§

impl Protocol for Q65a60

Source§

const ID: ProtocolId = ProtocolId::Q65

Source§

type Fec = Q65Fec

Source§

type Msg = Q65Message

Source§

impl Protocol for Q65b60

Source§

const ID: ProtocolId = ProtocolId::Q65

Source§

type Fec = Q65Fec

Source§

type Msg = Q65Message

Source§

impl Protocol for Q65c60

Source§

const ID: ProtocolId = ProtocolId::Q65

Source§

type Fec = Q65Fec

Source§

type Msg = Q65Message

Source§

impl Protocol for Q65d60

Source§

const ID: ProtocolId = ProtocolId::Q65

Source§

type Fec = Q65Fec

Source§

type Msg = Q65Message

Source§

impl Protocol for Q65e60

Source§

const ID: ProtocolId = ProtocolId::Q65

Source§

type Fec = Q65Fec

Source§

type Msg = Q65Message

Source§

impl Protocol for Wspr

Source§

const ID: ProtocolId = ProtocolId::Wspr

Source§

type Fec = ConvFano

Source§

type Msg = Wspr50Message