* replace stream module by improved version of readable/writable impl
* rm server.js
* async api improvments:
- better tracing of calls from worker back and forth
- fix transferrable handling to avoid copying buffers for r/w
- optional debug logs
- completed jsdocs annotations
- add dispose method
- add setLogLevel method (analoguous to added binding)
* node-srt C bindings:
- add SetLogLevel to get libSRT log output if desired
- add OK static member
- add #define EPOLL_EVENTS_NUM_MAX 1024
- improve error string thrown in Read (add that it comes from srt_recvmsg)
- improve error string thrown in Write (add that it comes from srt_sendmsg2)
- misc isofunctional improvements (var names) and comments
* add SRT logging related JS-side helper
* rewrite flat TypeScript decl files without "module" keyword
* add ts enum decl for all libSRT enums
* async-worker: enable using transferrable for zero-copy
+ allow better debugging (like in api/dispatcher side)
+ misc improvements on code quality
* add async-helpers: various functions to help dealing with transferrables
+ tracing calls to native bindings in debug output
* add async read/write modes functions + async-reader-writer class
- these will allow for performing high-level r/w operations conveniently
at optimum throughput for larger pieces of payload i.e list of packets.
* add srt-server and srt-connection (can manage multiple clients),
- based on async-api
- can be used with reader/writer (i.e the underlying modes)
* srt-server/connection typings
* async srt spec: add dispose method usage (but commented out as crashing atm)
* async srt spec: rm redundant checks on SRT static members (they are done
in other spec already)
* promises api spec: formal fixes
* stream spec: add dummy test
* package.json:
- put gyp toolchain in runtime deps (since the build happens on install)
- add JEST test runner
- shorten check-tsc script
- rebuild script: check & use all CPU cores available
- run rebuild actually on install, not preinstall (fixes deps not being there)
- remove preinstall and thus "npm install git-clone" in the package scripts
* update package lock
* update typings index not to need triple-slashs anymore
* in srt.ts example: check for read return value type
* build-srt-sdk script:
- allow to use any local libSRT code repo
- when using make: use all amount of cores available for build
- isolate better code running on different platforms
* update package main index with new things
* add enum typings index
* add jest config
* add "use strict" on async-srt-await example
* add integration/smoke testing for client-to-server one-way burst write
* readme: add note on build prerequisites
* readme: add infos on new components SRTServer/Connection & AsyncReaderWriter
* fix lint errors in eslint config :)
* index.d.s: add /* eslint-disable @typescript-eslint/triple-slash-reference */
* improve eslint calling script
* add async-worker version of the SRT JS API with await/Promise support
+ potentially out-of-order RPC-back/result-dequeuing is possible
with a type of call-ID generator and callback-map that we prototyped
(but not used atm since the worker is only doing sync/blocking internally
with the current SRT lib binding).
* add various examples for async API ("classic" callbacks / Promise / await)
* add .eslintignore (should go with commit where we just call "eslint .")
* index.js: add missing semi
* async.js: fix method name litteral in epollUWait
* async.js: allow for accept method to use a timeout opt (defaults to false),
and a custom timeout value option (default to default timeout),
which can potentially be set differently than the general default timeout.
+ make the timeout value a static class property so that it can be
user-defined module-load wide. defaults to constant in module top scope.
* async.js: fix for a rejected promise, make sure we don't resolve anymore
+ add a custom timeout value argument to _createAsyncWorkPromise
* async.js: rm an experiment
* fix a lint error in example
* add types for async api and fix some details on binding API types
* export async API to index
* async.js: add some missing docs for private methods
* include async types in index