Skip to content

Return status code from openfec codec #767

Description

@gavv

Summary

fec::IBlockEncoder and fec::IBlockDecoder are interfaces for codec-specific encoding and decoding of FEC packets used for packet loss recovery. See documentation.

They both have begin_block() method which can report error by returning status::StatusCode.

We need to update their other methods so that they return status code as well (currently they are void): end_block(), set_buffer(), fill_buffers(), repair_buffer().

Implementation

  • Update IBlockEncoder and IBlockDecoder interfaces and two implementations:
    • fec::OpenfecEncoder
    • fec::OpenfecDecoder
  • In OpenfecEncoder and OpenfecDecoder, find invocations of of_xxx() functions, check for errors, and return status code in case of error (currently errors are either unhandled or cause panic)
  • Update fec::BlockWriter and fec::BlockReader, which use IBlockEncoder and IBlockDecoder interfaces. When encoder or decoder return error code, writer and reader should forward it to upper level.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-refactoringcategory: Refactoringeasy hacksSolution requires minimal project contexthelp wantedLooking for contributors

    Fields

    No fields configured for Maintance.

    Projects

    Status
    Help wanted

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions