Attention is currently required from: Hoernchen, fixeria, laforge, pespin.
Timur Davydov has posted comments on this change by Timur Davydov. ( https://gerrit.osmocom.org/c/osmo-trx/+/42411?usp=email )
Change subject: transceiver: add optional WebSDR device support ......................................................................
Patch Set 10:
(1 comment)
File Transceiver52M/Transceiver.cpp:
https://gerrit.osmocom.org/c/osmo-trx/+/42411/comment/7ea9d2bf_eb753b37?usp=... : PS10, Line 1132: msgLen = read(mDataSockets[chan], buffer, sizeof(buffer));
BTW, I'm also a bit worried on how iiuc you seem to want to change the whole set of threads. […]
In this work we are not planning to adapt or restructure the existing threading model. Instead, threads are not used at all in the Web target.
Our previous experiments showed that it is not feasible to reliably meet GSM timing requirements in the browser when using multiple threads (Web Workers / pthreads), mainly due to scheduling unpredictability and latency.
As a result, the current approach is different: - the whole osmo-bts-trx + osmo-trx stack is built as a single WASM library, - it runs inside a single Web Worker (i.e. one execution thread on the web), - communication between components and the WebSDR device is done via callbacks and buffer passing.
So this change does not attempt to modify the existing threading model, but rather bypasses it entirely for the Web/WASM target.