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
Mutex
es 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.