Skip to content

Return status code from openfec codec #767

@gavv

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

    Projects

    Status

    Help wanted

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions