Skip to content

ts: Pad Wrapper for async processing

This is an implementation of the vision described here.

  • First incomplete draft for feedback.
  • Add pause_task.
  • Port TsAppSrc, TsProxy, TsQueue, TsUdpSrc, TsTcpClientSrc.
  • Port TsJitterBuffer.
  • Remove Processor, Workflow, etc.
  • Fix the poll_fn / Future lock problem in TsQueue, TsProxy, DataQueue & Socket.
  • Update Documentation.

tokio-0.2.0 was released with some breaking changes compared to the version this branch is based on and some improvements that could help simplify code. In order to reduce the noise induced by these changes, I'll update the branch to tokio-0.2.0 in a separate MR.

Traceability note: switching to async Mutexes for the JitterBuffer induced other changes because of recursions (reset, store, enqueue_item) and cycles (schedule). Since there are no tests for JitterBuffer I wasn't able ensure non-regression.

There is an open issue with src_event* return type. See this question.

Edited by François Laignel

Merge request reports