@litert/televoke 0.4.6 → 1.0.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/CHANGES.md +6 -0
  2. package/README.md +13 -8
  3. package/lib/client/Client.decl.d.ts +47 -0
  4. package/lib/client/Client.decl.d.ts.map +1 -0
  5. package/lib/client/Client.decl.js +18 -0
  6. package/lib/client/Client.decl.js.map +1 -0
  7. package/lib/client/JsonApiClient.impl.d.ts +28 -0
  8. package/lib/client/JsonApiClient.impl.d.ts.map +1 -0
  9. package/lib/client/JsonApiClient.impl.js +169 -0
  10. package/lib/client/JsonApiClient.impl.js.map +1 -0
  11. package/lib/client/LegacyHttpClient.impl.d.ts +62 -0
  12. package/lib/client/LegacyHttpClient.impl.d.ts.map +1 -0
  13. package/lib/client/LegacyHttpClient.impl.js +163 -0
  14. package/lib/client/LegacyHttpClient.impl.js.map +1 -0
  15. package/lib/client/index.d.ts +19 -0
  16. package/lib/client/index.d.ts.map +1 -0
  17. package/lib/client/index.js +35 -0
  18. package/lib/client/index.js.map +1 -0
  19. package/lib/index.d.ts +18 -20
  20. package/lib/index.d.ts.map +1 -1
  21. package/lib/index.js +19 -20
  22. package/lib/index.js.map +1 -1
  23. package/lib/server/LegacyServerChannel.impl.d.ts +38 -0
  24. package/lib/server/LegacyServerChannel.impl.d.ts.map +1 -0
  25. package/lib/server/LegacyServerChannel.impl.js +51 -0
  26. package/lib/server/LegacyServerChannel.impl.js.map +1 -0
  27. package/lib/server/Server.decl.d.ts +81 -0
  28. package/lib/server/Server.decl.d.ts.map +1 -0
  29. package/lib/server/Server.decl.js +18 -0
  30. package/lib/server/Server.decl.js.map +1 -0
  31. package/lib/server/Server.impl.d.ts +33 -0
  32. package/lib/server/Server.impl.d.ts.map +1 -0
  33. package/lib/server/Server.impl.js +58 -0
  34. package/lib/server/Server.impl.js.map +1 -0
  35. package/lib/server/ServerChannel.d.ts +20 -0
  36. package/lib/server/ServerChannel.d.ts.map +1 -0
  37. package/lib/server/ServerChannel.js +23 -0
  38. package/lib/server/ServerChannel.js.map +1 -0
  39. package/lib/server/SimpleJsonApiRouter.d.ts +28 -0
  40. package/lib/server/SimpleJsonApiRouter.d.ts.map +1 -0
  41. package/lib/server/SimpleJsonApiRouter.js +92 -0
  42. package/lib/server/SimpleJsonApiRouter.js.map +1 -0
  43. package/lib/server/index.d.ts +19 -0
  44. package/lib/server/index.d.ts.map +1 -0
  45. package/lib/server/index.js +35 -0
  46. package/lib/server/index.js.map +1 -0
  47. package/lib/shared/BinaryStream.d.ts +32 -0
  48. package/lib/shared/BinaryStream.d.ts.map +1 -0
  49. package/lib/shared/BinaryStream.js +93 -0
  50. package/lib/shared/BinaryStream.js.map +1 -0
  51. package/lib/shared/BinaryStreamManager.d.ts +52 -0
  52. package/lib/shared/BinaryStreamManager.d.ts.map +1 -0
  53. package/lib/shared/BinaryStreamManager.js +105 -0
  54. package/lib/shared/BinaryStreamManager.js.map +1 -0
  55. package/lib/shared/Channel.impl.d.ts +79 -0
  56. package/lib/shared/Channel.impl.d.ts.map +1 -0
  57. package/lib/shared/Channel.impl.js +433 -0
  58. package/lib/shared/Channel.impl.js.map +1 -0
  59. package/lib/shared/Constants.d.ts +32 -0
  60. package/lib/shared/Constants.d.ts.map +1 -0
  61. package/lib/shared/Constants.js +35 -0
  62. package/lib/shared/Constants.js.map +1 -0
  63. package/lib/shared/Encodings/index.d.ts +18 -0
  64. package/lib/shared/Encodings/index.d.ts.map +1 -0
  65. package/lib/shared/Encodings/index.js +21 -0
  66. package/lib/shared/Encodings/index.js.map +1 -0
  67. package/lib/shared/Encodings/v1/EncoderV1.d.ts +22 -0
  68. package/lib/shared/Encodings/v1/EncoderV1.d.ts.map +1 -0
  69. package/lib/shared/Encodings/v1/EncoderV1.js +47 -0
  70. package/lib/shared/Encodings/v1/EncoderV1.js.map +1 -0
  71. package/lib/shared/Encodings/v1/Protocol.v1.decls.d.ts +78 -0
  72. package/lib/shared/Encodings/v1/Protocol.v1.decls.d.ts.map +1 -0
  73. package/lib/shared/Encodings/v1/Protocol.v1.decls.js +53 -0
  74. package/lib/shared/Encodings/v1/Protocol.v1.decls.js.map +1 -0
  75. package/lib/shared/Encodings/v1/index.d.ts +18 -0
  76. package/lib/shared/Encodings/v1/index.d.ts.map +1 -0
  77. package/lib/shared/Encodings/v1/index.js +34 -0
  78. package/lib/shared/Encodings/v1/index.js.map +1 -0
  79. package/lib/shared/Encodings/v2/Constants.v2.d.ts +29 -0
  80. package/lib/shared/Encodings/v2/Constants.v2.d.ts.map +1 -0
  81. package/lib/shared/Encodings/v2/Constants.v2.js +34 -0
  82. package/lib/shared/Encodings/v2/Constants.v2.js.map +1 -0
  83. package/lib/shared/Encodings/v2/DecoderV2.d.ts +27 -0
  84. package/lib/shared/Encodings/v2/DecoderV2.d.ts.map +1 -0
  85. package/lib/shared/Encodings/v2/DecoderV2.js +279 -0
  86. package/lib/shared/Encodings/v2/DecoderV2.js.map +1 -0
  87. package/lib/shared/Encodings/v2/EncoderV2.d.ts +21 -0
  88. package/lib/shared/Encodings/v2/EncoderV2.d.ts.map +1 -0
  89. package/lib/shared/Encodings/v2/EncoderV2.js +176 -0
  90. package/lib/shared/Encodings/v2/EncoderV2.js.map +1 -0
  91. package/lib/shared/Encodings/v2/Encoding.v2.decl.d.ts +95 -0
  92. package/lib/shared/Encodings/v2/Encoding.v2.decl.d.ts.map +1 -0
  93. package/lib/shared/Encodings/v2/Encoding.v2.decl.js +18 -0
  94. package/lib/shared/Encodings/v2/Encoding.v2.decl.js.map +1 -0
  95. package/lib/shared/Encodings/v2/index.d.ts +20 -0
  96. package/lib/shared/Encodings/v2/index.d.ts.map +1 -0
  97. package/lib/shared/Encodings/v2/index.js +35 -0
  98. package/lib/shared/Encodings/v2/index.js.map +1 -0
  99. package/lib/shared/Errors.d.ts +60 -0
  100. package/lib/shared/Errors.d.ts.map +1 -0
  101. package/lib/shared/Errors.js +75 -0
  102. package/lib/shared/Errors.js.map +1 -0
  103. package/lib/shared/Shared.decl.d.ts +296 -0
  104. package/lib/shared/Shared.decl.d.ts.map +1 -0
  105. package/lib/shared/Shared.decl.js +18 -0
  106. package/lib/shared/Shared.decl.js.map +1 -0
  107. package/lib/shared/Utils.d.ts +25 -0
  108. package/lib/shared/Utils.d.ts.map +1 -0
  109. package/lib/shared/Utils.js +46 -0
  110. package/lib/shared/Utils.js.map +1 -0
  111. package/lib/shared/index.d.ts +23 -0
  112. package/lib/shared/index.d.ts.map +1 -0
  113. package/lib/shared/index.js +39 -0
  114. package/lib/shared/index.js.map +1 -0
  115. package/lib/transporters/Transporter.decl.d.ts +90 -0
  116. package/lib/transporters/Transporter.decl.d.ts.map +1 -0
  117. package/lib/transporters/Transporter.decl.js +18 -0
  118. package/lib/transporters/Transporter.decl.js.map +1 -0
  119. package/lib/transporters/http-listener/AbstractHttpListener.d.ts +32 -0
  120. package/lib/transporters/http-listener/AbstractHttpListener.d.ts.map +1 -0
  121. package/lib/transporters/http-listener/AbstractHttpListener.js +46 -0
  122. package/lib/transporters/http-listener/AbstractHttpListener.js.map +1 -0
  123. package/lib/transporters/http-listener/Http.Decl.d.ts +95 -0
  124. package/lib/transporters/http-listener/Http.Decl.d.ts.map +1 -0
  125. package/lib/transporters/http-listener/Http.Decl.js +52 -0
  126. package/lib/transporters/http-listener/Http.Decl.js.map +1 -0
  127. package/lib/transporters/http-listener/HttpListener.d.ts +18 -0
  128. package/lib/transporters/http-listener/HttpListener.d.ts.map +1 -0
  129. package/lib/transporters/http-listener/HttpListener.js +73 -0
  130. package/lib/transporters/http-listener/HttpListener.js.map +1 -0
  131. package/lib/transporters/http-listener/HttpUnixSocketListener.d.ts +18 -0
  132. package/lib/transporters/http-listener/HttpUnixSocketListener.d.ts.map +1 -0
  133. package/lib/transporters/http-listener/HttpUnixSocketListener.js +72 -0
  134. package/lib/transporters/http-listener/HttpUnixSocketListener.js.map +1 -0
  135. package/lib/transporters/http-listener/HttpsListener.d.ts +18 -0
  136. package/lib/transporters/http-listener/HttpsListener.d.ts.map +1 -0
  137. package/lib/transporters/http-listener/HttpsListener.js +73 -0
  138. package/lib/transporters/http-listener/HttpsListener.js.map +1 -0
  139. package/lib/transporters/http-listener/index.d.ts +20 -0
  140. package/lib/transporters/http-listener/index.d.ts.map +1 -0
  141. package/lib/transporters/http-listener/index.js +36 -0
  142. package/lib/transporters/http-listener/index.js.map +1 -0
  143. package/lib/transporters/index.d.ts +17 -0
  144. package/lib/transporters/index.d.ts.map +1 -0
  145. package/lib/transporters/index.js +18 -0
  146. package/lib/transporters/index.js.map +1 -0
  147. package/lib/transporters/legacy-http/LegacyHttp.Server.d.ts +24 -0
  148. package/lib/transporters/legacy-http/LegacyHttp.Server.d.ts.map +1 -0
  149. package/lib/transporters/legacy-http/LegacyHttp.Server.js +167 -0
  150. package/lib/transporters/legacy-http/LegacyHttp.Server.js.map +1 -0
  151. package/lib/transporters/legacy-http/LegacyHttp.Transporter.d.ts +28 -0
  152. package/lib/transporters/legacy-http/LegacyHttp.Transporter.d.ts.map +1 -0
  153. package/lib/transporters/legacy-http/LegacyHttp.Transporter.js +55 -0
  154. package/lib/transporters/legacy-http/LegacyHttp.Transporter.js.map +1 -0
  155. package/lib/transporters/legacy-http/index.d.ts +18 -0
  156. package/lib/transporters/legacy-http/index.d.ts.map +1 -0
  157. package/lib/transporters/legacy-http/index.js +34 -0
  158. package/lib/transporters/legacy-http/index.js.map +1 -0
  159. package/lib/transporters/lwdfx/LwDFX.Tcp.Client.d.ts +19 -0
  160. package/lib/transporters/lwdfx/LwDFX.Tcp.Client.d.ts.map +1 -0
  161. package/lib/transporters/lwdfx/LwDFX.Tcp.Client.js +33 -0
  162. package/lib/transporters/lwdfx/LwDFX.Tcp.Client.js.map +1 -0
  163. package/lib/transporters/lwdfx/LwDFX.Tcp.Server.d.ts +21 -0
  164. package/lib/transporters/lwdfx/LwDFX.Tcp.Server.d.ts.map +1 -0
  165. package/lib/transporters/lwdfx/LwDFX.Tcp.Server.js +64 -0
  166. package/lib/transporters/lwdfx/LwDFX.Tcp.Server.js.map +1 -0
  167. package/lib/transporters/lwdfx/LwDFX.Tls.Client.d.ts +19 -0
  168. package/lib/transporters/lwdfx/LwDFX.Tls.Client.d.ts.map +1 -0
  169. package/lib/transporters/lwdfx/LwDFX.Tls.Client.js +33 -0
  170. package/lib/transporters/lwdfx/LwDFX.Tls.Client.js.map +1 -0
  171. package/lib/transporters/lwdfx/LwDFX.Tls.Server.d.ts +21 -0
  172. package/lib/transporters/lwdfx/LwDFX.Tls.Server.d.ts.map +1 -0
  173. package/lib/transporters/lwdfx/LwDFX.Tls.Server.js +64 -0
  174. package/lib/transporters/lwdfx/LwDFX.Tls.Server.js.map +1 -0
  175. package/lib/transporters/lwdfx/LwDFX.Transporter.d.ts +34 -0
  176. package/lib/transporters/lwdfx/LwDFX.Transporter.d.ts.map +1 -0
  177. package/lib/transporters/lwdfx/LwDFX.Transporter.js +78 -0
  178. package/lib/transporters/lwdfx/LwDFX.Transporter.js.map +1 -0
  179. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Client.d.ts +19 -0
  180. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Client.d.ts.map +1 -0
  181. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Client.js +33 -0
  182. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Client.js.map +1 -0
  183. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.d.ts +21 -0
  184. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.d.ts.map +1 -0
  185. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.js +64 -0
  186. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.js.map +1 -0
  187. package/lib/transporters/lwdfx/LwDFX.decl.d.ts +18 -0
  188. package/lib/transporters/lwdfx/LwDFX.decl.d.ts.map +1 -0
  189. package/lib/transporters/lwdfx/LwDFX.decl.js +18 -0
  190. package/lib/transporters/lwdfx/LwDFX.decl.js.map +1 -0
  191. package/lib/transporters/lwdfx/index.d.ts +23 -0
  192. package/lib/transporters/lwdfx/index.d.ts.map +1 -0
  193. package/lib/transporters/lwdfx/index.js +39 -0
  194. package/lib/transporters/lwdfx/index.js.map +1 -0
  195. package/lib/transporters/memory/Memory.Impl.d.ts +43 -0
  196. package/lib/transporters/memory/Memory.Impl.d.ts.map +1 -0
  197. package/lib/transporters/memory/Memory.Impl.js +227 -0
  198. package/lib/transporters/memory/Memory.Impl.js.map +1 -0
  199. package/lib/transporters/memory/index.d.ts +17 -0
  200. package/lib/transporters/memory/index.d.ts.map +1 -0
  201. package/lib/transporters/memory/index.js +33 -0
  202. package/lib/transporters/memory/index.js.map +1 -0
  203. package/lib/transporters/websocket/WebSocket.Client.d.ts +20 -0
  204. package/lib/transporters/websocket/WebSocket.Client.d.ts.map +1 -0
  205. package/lib/transporters/websocket/WebSocket.Client.js +68 -0
  206. package/lib/transporters/websocket/WebSocket.Client.js.map +1 -0
  207. package/lib/transporters/websocket/WebSocket.Server.d.ts +25 -0
  208. package/lib/transporters/websocket/WebSocket.Server.d.ts.map +1 -0
  209. package/lib/transporters/websocket/WebSocket.Server.js +87 -0
  210. package/lib/transporters/websocket/WebSocket.Server.js.map +1 -0
  211. package/lib/transporters/websocket/WebSocket.Transporter.d.ts +34 -0
  212. package/lib/transporters/websocket/WebSocket.Transporter.d.ts.map +1 -0
  213. package/lib/transporters/websocket/WebSocket.Transporter.js +106 -0
  214. package/lib/transporters/websocket/WebSocket.Transporter.js.map +1 -0
  215. package/lib/transporters/websocket/WebSocket.decl.d.ts +19 -0
  216. package/lib/transporters/websocket/WebSocket.decl.d.ts.map +1 -0
  217. package/lib/transporters/websocket/WebSocket.decl.js +22 -0
  218. package/lib/transporters/websocket/WebSocket.decl.js.map +1 -0
  219. package/lib/transporters/websocket/index.d.ts +19 -0
  220. package/lib/transporters/websocket/index.d.ts.map +1 -0
  221. package/lib/transporters/websocket/index.js +35 -0
  222. package/lib/transporters/websocket/index.js.map +1 -0
  223. package/package.json +12 -12
  224. package/src/lib/client/Client.decl.ts +61 -0
  225. package/src/lib/client/JsonApiClient.impl.ts +258 -0
  226. package/src/lib/client/LegacyHttpClient.impl.ts +278 -0
  227. package/src/lib/client/index.ts +19 -0
  228. package/src/lib/index.ts +18 -20
  229. package/src/lib/server/LegacyServerChannel.impl.ts +71 -0
  230. package/src/lib/server/Server.decl.ts +109 -0
  231. package/src/lib/server/Server.impl.ts +90 -0
  232. package/src/lib/server/ServerChannel.ts +20 -0
  233. package/src/lib/server/SimpleJsonApiRouter.ts +135 -0
  234. package/src/lib/server/index.ts +19 -0
  235. package/src/lib/shared/BinaryStream.ts +131 -0
  236. package/src/lib/shared/BinaryStreamManager.ts +142 -0
  237. package/src/lib/shared/Channel.impl.ts +641 -0
  238. package/src/lib/shared/Constants.ts +35 -0
  239. package/src/lib/shared/Encodings/index.ts +18 -0
  240. package/src/lib/shared/Encodings/v1/EncoderV1.ts +66 -0
  241. package/src/lib/shared/Encodings/v1/Protocol.v1.decls.ts +96 -0
  242. package/src/lib/shared/Encodings/v1/index.ts +18 -0
  243. package/src/lib/shared/Encodings/v2/Constants.v2.ts +31 -0
  244. package/src/lib/shared/Encodings/v2/DecoderV2.ts +404 -0
  245. package/src/lib/shared/Encodings/v2/EncoderV2.ts +283 -0
  246. package/src/lib/shared/Encodings/v2/Encoding.v2.decl.ts +133 -0
  247. package/src/lib/shared/Encodings/v2/index.ts +20 -0
  248. package/src/lib/shared/Errors.ts +94 -0
  249. package/src/lib/shared/Shared.decl.ts +347 -0
  250. package/src/lib/shared/Utils.ts +51 -0
  251. package/src/lib/shared/index.ts +23 -0
  252. package/src/lib/transporters/Transporter.decl.ts +117 -0
  253. package/src/lib/transporters/http-listener/AbstractHttpListener.ts +57 -0
  254. package/src/lib/transporters/http-listener/Http.Decl.ts +141 -0
  255. package/src/lib/transporters/http-listener/HttpListener.ts +102 -0
  256. package/src/lib/transporters/http-listener/HttpUnixSocketListener.ts +97 -0
  257. package/src/lib/transporters/http-listener/HttpsListener.ts +102 -0
  258. package/src/lib/transporters/http-listener/index.ts +20 -0
  259. package/src/lib/transporters/index.ts +17 -0
  260. package/src/lib/transporters/legacy-http/LegacyHttp.Server.ts +262 -0
  261. package/src/lib/transporters/legacy-http/LegacyHttp.Transporter.ts +66 -0
  262. package/src/lib/transporters/legacy-http/index.ts +18 -0
  263. package/src/lib/transporters/lwdfx/LwDFX.Tcp.Client.ts +34 -0
  264. package/src/lib/transporters/lwdfx/LwDFX.Tcp.Server.ts +94 -0
  265. package/src/lib/transporters/lwdfx/LwDFX.Tls.Client.ts +34 -0
  266. package/src/lib/transporters/lwdfx/LwDFX.Tls.Server.ts +94 -0
  267. package/src/lib/transporters/lwdfx/LwDFX.Transporter.ts +100 -0
  268. package/src/lib/transporters/lwdfx/LwDFX.UnixSocket.Client.ts +34 -0
  269. package/src/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.ts +94 -0
  270. package/src/lib/transporters/lwdfx/LwDFX.decl.ts +19 -0
  271. package/src/lib/transporters/lwdfx/index.ts +23 -0
  272. package/src/lib/transporters/memory/Memory.Impl.ts +363 -0
  273. package/src/lib/transporters/memory/index.ts +17 -0
  274. package/src/lib/transporters/websocket/WebSocket.Client.ts +76 -0
  275. package/src/lib/transporters/websocket/WebSocket.Server.ts +118 -0
  276. package/src/lib/transporters/websocket/WebSocket.Transporter.ts +132 -0
  277. package/src/lib/transporters/websocket/WebSocket.decl.ts +21 -0
  278. package/src/lib/transporters/websocket/index.ts +19 -0
  279. package/lib/Client/BuiltInRIDGenerator.d.ts +0 -4
  280. package/lib/Client/BuiltInRIDGenerator.d.ts.map +0 -1
  281. package/lib/Client/BuiltInRIDGenerator.js +0 -18
  282. package/lib/Client/BuiltInRIDGenerator.js.map +0 -1
  283. package/lib/Client/Common.d.ts +0 -47
  284. package/lib/Client/Common.d.ts.map +0 -1
  285. package/lib/Client/Common.js +0 -18
  286. package/lib/Client/Common.js.map +0 -1
  287. package/lib/Client/Errors.d.ts +0 -26
  288. package/lib/Client/Errors.d.ts.map +0 -1
  289. package/lib/Client/Errors.js +0 -80
  290. package/lib/Client/Errors.js.map +0 -1
  291. package/lib/Client/HttpClient.d.ts +0 -37
  292. package/lib/Client/HttpClient.d.ts.map +0 -1
  293. package/lib/Client/HttpClient.js +0 -148
  294. package/lib/Client/HttpClient.js.map +0 -1
  295. package/lib/Client/HttpsClient.d.ts +0 -40
  296. package/lib/Client/HttpsClient.d.ts.map +0 -1
  297. package/lib/Client/HttpsClient.js +0 -144
  298. package/lib/Client/HttpsClient.js.map +0 -1
  299. package/lib/Client/TCPClient.d.ts +0 -34
  300. package/lib/Client/TCPClient.d.ts.map +0 -1
  301. package/lib/Client/TCPClient.js +0 -271
  302. package/lib/Client/TCPClient.js.map +0 -1
  303. package/lib/Client/TLSClient.d.ts +0 -34
  304. package/lib/Client/TLSClient.d.ts.map +0 -1
  305. package/lib/Client/TLSClient.js +0 -265
  306. package/lib/Client/TLSClient.js.map +0 -1
  307. package/lib/Client/index.d.ts +0 -23
  308. package/lib/Client/index.d.ts.map +0 -1
  309. package/lib/Client/index.js +0 -39
  310. package/lib/Client/index.js.map +0 -1
  311. package/lib/Common/API.d.ts +0 -19
  312. package/lib/Common/API.d.ts.map +0 -1
  313. package/lib/Common/API.js +0 -18
  314. package/lib/Common/API.js.map +0 -1
  315. package/lib/Common/Encoding.d.ts +0 -32
  316. package/lib/Common/Encoding.d.ts.map +0 -1
  317. package/lib/Common/Encoding.js +0 -20
  318. package/lib/Common/Encoding.js.map +0 -1
  319. package/lib/Common/Request.d.ts +0 -23
  320. package/lib/Common/Request.d.ts.map +0 -1
  321. package/lib/Common/Request.js +0 -18
  322. package/lib/Common/Request.js.map +0 -1
  323. package/lib/Common/Response.d.ts +0 -60
  324. package/lib/Common/Response.d.ts.map +0 -1
  325. package/lib/Common/Response.js +0 -42
  326. package/lib/Common/Response.js.map +0 -1
  327. package/lib/Common/index.d.ts +0 -20
  328. package/lib/Common/index.d.ts.map +0 -1
  329. package/lib/Common/index.js +0 -36
  330. package/lib/Common/index.js.map +0 -1
  331. package/lib/Encoder/Decoder.d.ts +0 -18
  332. package/lib/Encoder/Decoder.d.ts.map +0 -1
  333. package/lib/Encoder/Decoder.js +0 -136
  334. package/lib/Encoder/Decoder.js.map +0 -1
  335. package/lib/Encoder/Encoder.d.ts +0 -18
  336. package/lib/Encoder/Encoder.d.ts.map +0 -1
  337. package/lib/Encoder/Encoder.js +0 -35
  338. package/lib/Encoder/Encoder.js.map +0 -1
  339. package/lib/Encoder/Errors.d.ts +0 -17
  340. package/lib/Encoder/Errors.d.ts.map +0 -1
  341. package/lib/Encoder/Errors.js +0 -26
  342. package/lib/Encoder/Errors.js.map +0 -1
  343. package/lib/Errors.d.ts +0 -20
  344. package/lib/Errors.d.ts.map +0 -1
  345. package/lib/Errors.js +0 -40
  346. package/lib/Errors.js.map +0 -1
  347. package/lib/Server/Common/Gateway.d.ts +0 -26
  348. package/lib/Server/Common/Gateway.d.ts.map +0 -1
  349. package/lib/Server/Common/Gateway.js +0 -18
  350. package/lib/Server/Common/Gateway.js.map +0 -1
  351. package/lib/Server/Common/Request.d.ts +0 -21
  352. package/lib/Server/Common/Request.d.ts.map +0 -1
  353. package/lib/Server/Common/Request.js +0 -18
  354. package/lib/Server/Common/Request.js.map +0 -1
  355. package/lib/Server/Common/Router.d.ts +0 -41
  356. package/lib/Server/Common/Router.d.ts.map +0 -1
  357. package/lib/Server/Common/Router.js +0 -18
  358. package/lib/Server/Common/Router.js.map +0 -1
  359. package/lib/Server/Common/Server.d.ts +0 -57
  360. package/lib/Server/Common/Server.d.ts.map +0 -1
  361. package/lib/Server/Common/Server.js +0 -18
  362. package/lib/Server/Common/Server.js.map +0 -1
  363. package/lib/Server/Common/index.d.ts +0 -20
  364. package/lib/Server/Common/index.d.ts.map +0 -1
  365. package/lib/Server/Common/index.js +0 -36
  366. package/lib/Server/Common/index.js.map +0 -1
  367. package/lib/Server/Errors.d.ts +0 -25
  368. package/lib/Server/Errors.d.ts.map +0 -1
  369. package/lib/Server/Errors.js +0 -74
  370. package/lib/Server/Errors.js.map +0 -1
  371. package/lib/Server/Gateways/Http.d.ts +0 -18
  372. package/lib/Server/Gateways/Http.d.ts.map +0 -1
  373. package/lib/Server/Gateways/Http.js +0 -144
  374. package/lib/Server/Gateways/Http.js.map +0 -1
  375. package/lib/Server/Gateways/TCP.d.ts +0 -23
  376. package/lib/Server/Gateways/TCP.d.ts.map +0 -1
  377. package/lib/Server/Gateways/TCP.js +0 -146
  378. package/lib/Server/Gateways/TCP.js.map +0 -1
  379. package/lib/Server/Server.d.ts +0 -18
  380. package/lib/Server/Server.d.ts.map +0 -1
  381. package/lib/Server/Server.js +0 -200
  382. package/lib/Server/Server.js.map +0 -1
  383. package/lib/Server/SimpleRouter.d.ts +0 -41
  384. package/lib/Server/SimpleRouter.d.ts.map +0 -1
  385. package/lib/Server/SimpleRouter.js +0 -54
  386. package/lib/Server/SimpleRouter.js.map +0 -1
  387. package/lib/Server/index.d.ts +0 -22
  388. package/lib/Server/index.d.ts.map +0 -1
  389. package/lib/Server/index.js +0 -38
  390. package/lib/Server/index.js.map +0 -1
  391. package/src/lib/Client/BuiltInRIDGenerator.ts +0 -21
  392. package/src/lib/Client/Common.ts +0 -63
  393. package/src/lib/Client/Errors.ts +0 -87
  394. package/src/lib/Client/HttpClient.ts +0 -232
  395. package/src/lib/Client/HttpsClient.ts +0 -238
  396. package/src/lib/Client/TCPClient.ts +0 -420
  397. package/src/lib/Client/TLSClient.ts +0 -422
  398. package/src/lib/Client/index.ts +0 -23
  399. package/src/lib/Common/API.ts +0 -20
  400. package/src/lib/Common/Encoding.ts +0 -42
  401. package/src/lib/Common/Request.ts +0 -28
  402. package/src/lib/Common/Response.ts +0 -67
  403. package/src/lib/Common/index.ts +0 -20
  404. package/src/lib/Encoder/Decoder.ts +0 -206
  405. package/src/lib/Encoder/Encoder.ts +0 -41
  406. package/src/lib/Encoder/Errors.ts +0 -24
  407. package/src/lib/Errors.ts +0 -40
  408. package/src/lib/Server/Common/Gateway.ts +0 -37
  409. package/src/lib/Server/Common/Request.ts +0 -24
  410. package/src/lib/Server/Common/Router.ts +0 -52
  411. package/src/lib/Server/Common/Server.ts +0 -68
  412. package/src/lib/Server/Common/index.ts +0 -20
  413. package/src/lib/Server/Errors.ts +0 -80
  414. package/src/lib/Server/Gateways/Http.ts +0 -203
  415. package/src/lib/Server/Gateways/TCP.ts +0 -221
  416. package/src/lib/Server/Server.ts +0 -268
  417. package/src/lib/Server/SimpleRouter.ts +0 -95
  418. package/src/lib/Server/index.ts +0 -22
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2023 Angus.Fenying <fenying@litert.org>
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * https://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
24
+ }) : (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ o[k2] = m[k];
27
+ }));
28
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
29
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ __exportStar(require("./Server.decl"), exports);
33
+ __exportStar(require("./Server.impl"), exports);
34
+ __exportStar(require("./SimpleJsonApiRouter"), exports);
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/server/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;;;;;;;;;;;;;;AAEF,gDAA8B;AAC9B,gDAA8B;AAC9B,wDAAsC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Copyright 2023 Angus.Fenying <fenying@litert.org>
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ /// <reference types="node" />
17
+ /// <reference types="node" />
18
+ import * as Shared from './Shared.decl';
19
+ import { Readable } from 'node:stream';
20
+ export declare class TvBinaryReadStream extends Readable implements Shared.IBinaryReadStream {
21
+ readonly id: number;
22
+ private _timeout;
23
+ private _timer;
24
+ constructor(id: number, _timeout?: number);
25
+ setTimeout(timeout: number): void;
26
+ private _resetTimer;
27
+ push(buf: Buffer | null): boolean;
28
+ close(): void;
29
+ abort(): void;
30
+ _read(): void;
31
+ }
32
+ //# sourceMappingURL=BinaryStream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BinaryStream.d.ts","sourceRoot":"","sources":["../../src/lib/shared/BinaryStream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,kBAAmB,SAAQ,QAAS,YAAW,MAAM,CAAC,iBAAiB;aAK5D,EAAE,EAAE,MAAM;IAC1B,OAAO,CAAC,QAAQ;IAJpB,OAAO,CAAC,MAAM,CAA+B;gBAGzB,EAAE,EAAE,MAAM,EAClB,QAAQ,GAAE,MAAU;IAWzB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAqBxC,OAAO,CAAC,WAAW;IA+BZ,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAejC,KAAK,IAAI,IAAI;IAWb,KAAK,IAAI,IAAI;IAYb,KAAK,IAAI,IAAI;CAGvB"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2023 Angus.Fenying <fenying@litert.org>
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * https://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.TvBinaryReadStream = void 0;
19
+ const E = require("./Errors");
20
+ const node_stream_1 = require("node:stream");
21
+ class TvBinaryReadStream extends node_stream_1.Readable {
22
+ constructor(id, _timeout = 0) {
23
+ super();
24
+ this.id = id;
25
+ this._timeout = _timeout;
26
+ this._timer = null;
27
+ if (_timeout > 0) {
28
+ this._resetTimer();
29
+ }
30
+ }
31
+ setTimeout(timeout) {
32
+ if (timeout === this._timeout) {
33
+ return;
34
+ }
35
+ this._timeout = timeout;
36
+ if (timeout > 0) {
37
+ if (this._timer) {
38
+ clearTimeout(this._timer);
39
+ this._timer = null;
40
+ }
41
+ this._resetTimer();
42
+ }
43
+ }
44
+ _resetTimer() {
45
+ if (this.readableEnded) {
46
+ if (this._timer) {
47
+ clearTimeout(this._timer);
48
+ this._timer = null;
49
+ }
50
+ return;
51
+ }
52
+ if (this._timer) {
53
+ this._timer.refresh();
54
+ return;
55
+ }
56
+ this._timer = setTimeout(() => {
57
+ if (this.readableEnded) {
58
+ return;
59
+ }
60
+ this._timer = null;
61
+ this.destroy(new E.errors.timeout());
62
+ }, this._timeout);
63
+ }
64
+ push(buf) {
65
+ if (this.readableEnded) {
66
+ throw new E.errors.stream_closed();
67
+ }
68
+ if (this._timeout > 0) {
69
+ this._resetTimer();
70
+ }
71
+ return super.push(buf);
72
+ }
73
+ close() {
74
+ if (this._timer) {
75
+ clearTimeout(this._timer);
76
+ this._timer = null;
77
+ }
78
+ this.push(null);
79
+ }
80
+ abort() {
81
+ if (this._timer) {
82
+ clearTimeout(this._timer);
83
+ this._timer = null;
84
+ }
85
+ this.destroy(new E.errors.stream_aborted());
86
+ }
87
+ // eslint-disable-next-line @typescript-eslint/naming-convention
88
+ _read() {
89
+ return;
90
+ }
91
+ }
92
+ exports.TvBinaryReadStream = TvBinaryReadStream;
93
+ //# sourceMappingURL=BinaryStream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BinaryStream.js","sourceRoot":"","sources":["../../src/lib/shared/BinaryStream.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAGF,8BAA8B;AAC9B,6CAAuC;AAEvC,MAAa,kBAAmB,SAAQ,sBAAQ;IAI5C,YACoB,EAAU,EAClB,WAAmB,CAAC;QAG5B,KAAK,EAAE,CAAC;QAJQ,OAAE,GAAF,EAAE,CAAQ;QAClB,aAAQ,GAAR,QAAQ,CAAY;QAJxB,WAAM,GAA0B,IAAI,CAAC;QASzC,IAAI,QAAQ,GAAG,CAAC,EAAE;YAEd,IAAI,CAAC,WAAW,EAAE,CAAC;SACtB;IACL,CAAC;IAEM,UAAU,CAAC,OAAe;QAE7B,IAAI,OAAO,KAAK,IAAI,CAAC,QAAQ,EAAE;YAE3B,OAAO;SACV;QAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,IAAI,OAAO,GAAG,CAAC,EAAE;YAEb,IAAI,IAAI,CAAC,MAAM,EAAE;gBAEb,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACtB;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;SACtB;IACL,CAAC;IAEO,WAAW;QAEf,IAAI,IAAI,CAAC,aAAa,EAAE;YAEpB,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACtB;YACD,OAAO;SACV;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YAEb,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO;SACV;QAED,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;YAE1B,IAAI,IAAI,CAAC,aAAa,EAAE;gBAEpB,OAAO;aACV;YAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YAEnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAEzC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;IAEM,IAAI,CAAC,GAAkB;QAE1B,IAAI,IAAI,CAAC,aAAa,EAAE;YAEpB,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;SACtC;QAED,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE;YAEnB,IAAI,CAAC,WAAW,EAAE,CAAC;SACtB;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAEM,KAAK;QAER,IAAI,IAAI,CAAC,MAAM,EAAE;YAEb,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAEM,KAAK;QAER,IAAI,IAAI,CAAC,MAAM,EAAE;YAEb,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,gEAAgE;IACzD,KAAK;QACR,OAAO;IACX,CAAC;CACJ;AA9GD,gDA8GC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Copyright 2023 Angus.Fenying <fenying@litert.org>
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import * as Shared from './Shared.decl';
17
+ export declare class TvBinaryStreamManager implements Shared.IStreamManager {
18
+ defaultTimeout: number;
19
+ maxStreams: number;
20
+ private _closed;
21
+ private readonly _streams;
22
+ constructor(defaultTimeout: number, maxStreams: number);
23
+ private _generateStreamId;
24
+ close(): void;
25
+ get(id: number): Shared.IBinaryReadStream | null;
26
+ create(): Shared.IBinaryReadStream;
27
+ }
28
+ /**
29
+ * Create a factory function to create a `IStreamManager` instance, associated to a single channel.
30
+ * When the associated channel is closed, all streams insides the stream manager will be aborted.
31
+ *
32
+ * @param defaultTimeout The default timeout value of each new binary stream.
33
+ * @returns The factory function.
34
+ */
35
+ export declare function createChannelStreamManagerFactory(defaultTimeout?: number, maxStreams?: number): Shared.IStreamManagerFactory;
36
+ /**
37
+ * Create a factory function to create a `IStreamManager` instance, shared between all channels.
38
+ * So that the streams created could be used in different channels.
39
+ *
40
+ * @param defaultTimeout The default timeout value of each new binary stream.
41
+ * @returns The factory function.
42
+ */
43
+ export declare function createSharedStreamManagerFactory(defaultTimeout?: number, maxStreams?: number): Shared.IStreamManagerFactory;
44
+ /**
45
+ * Create a factory function to create a `IStreamManager` instance, disabling all binary streams.
46
+ *
47
+ * > This is useful when you don't need binary streams.
48
+ *
49
+ * @returns The factory function.
50
+ */
51
+ export declare function createDisabledStreamManagerFactory(): Shared.IStreamManagerFactory;
52
+ //# sourceMappingURL=BinaryStreamManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BinaryStreamManager.d.ts","sourceRoot":"","sources":["../../src/lib/shared/BinaryStreamManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;EAcE;AAEF,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,qBAAa,qBAAsB,YAAW,MAAM,CAAC,cAAc;IAOpD,cAAc,EAAE,MAAM;IACtB,UAAU,EAAE,MAAM;IAN7B,OAAO,CAAC,OAAO,CAAkB;IAEjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0C;gBAGxD,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM;IAG7B,OAAO,CAAC,iBAAiB;IAgBlB,KAAK,IAAI,IAAI;IAWb,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,iBAAiB,GAAG,IAAI;IAKhD,MAAM,IAAI,MAAM,CAAC,iBAAiB;CAwB5C;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAC7C,cAAc,GAAE,MAAyC,EACzD,UAAU,GAAE,MAAsC,GACnD,MAAM,CAAC,qBAAqB,CAU9B;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC5C,cAAc,GAAE,MAAyC,EACzD,UAAU,GAAE,MAAsC,GACnD,MAAM,CAAC,qBAAqB,CAK9B;AAED;;;;;;GAMG;AACH,wBAAgB,kCAAkC,IAAI,MAAM,CAAC,qBAAqB,CAKjF"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2023 Angus.Fenying <fenying@litert.org>
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * https://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.createDisabledStreamManagerFactory = exports.createSharedStreamManagerFactory = exports.createChannelStreamManagerFactory = exports.TvBinaryStreamManager = void 0;
19
+ const Constants = require("./Constants");
20
+ const E = require("./Errors");
21
+ const BinaryStream_1 = require("./BinaryStream");
22
+ class TvBinaryStreamManager {
23
+ constructor(defaultTimeout, maxStreams) {
24
+ this.defaultTimeout = defaultTimeout;
25
+ this.maxStreams = maxStreams;
26
+ this._closed = false;
27
+ this._streams = {};
28
+ }
29
+ _generateStreamId() {
30
+ do {
31
+ const id = Math.floor(Math.random() * 4294967295);
32
+ if (id in this._streams) {
33
+ continue;
34
+ }
35
+ return id;
36
+ } while (true);
37
+ }
38
+ close() {
39
+ this._closed = true;
40
+ for (const id of Object.keys(this._streams)) {
41
+ this._streams[id].abort();
42
+ delete this._streams[id];
43
+ }
44
+ }
45
+ get(id) {
46
+ return this._streams[id] ?? null;
47
+ }
48
+ create() {
49
+ if (this.maxStreams === 0) {
50
+ throw new E.errors.cmd_not_impl();
51
+ }
52
+ else if (this._closed) {
53
+ throw new E.errors.stream_closed();
54
+ }
55
+ else if (this.maxStreams >= 0 && Object.keys(this._streams).length === this.maxStreams) {
56
+ throw new E.errors.system_busy();
57
+ }
58
+ const stream = new BinaryStream_1.TvBinaryReadStream(this._generateStreamId(), this.defaultTimeout);
59
+ this._streams[stream.id] = stream.on('close', () => {
60
+ delete this._streams[stream.id];
61
+ });
62
+ return stream;
63
+ }
64
+ }
65
+ exports.TvBinaryStreamManager = TvBinaryStreamManager;
66
+ /**
67
+ * Create a factory function to create a `IStreamManager` instance, associated to a single channel.
68
+ * When the associated channel is closed, all streams insides the stream manager will be aborted.
69
+ *
70
+ * @param defaultTimeout The default timeout value of each new binary stream.
71
+ * @returns The factory function.
72
+ */
73
+ function createChannelStreamManagerFactory(defaultTimeout = Constants.DEFAULT_STREAM_TIMEOUT, maxStreams = Constants.DEFAULT_MAX_STREAMS) {
74
+ return (ch) => {
75
+ const ret = new TvBinaryStreamManager(defaultTimeout, maxStreams);
76
+ ch.on('close', () => { ret.close(); });
77
+ return ret;
78
+ };
79
+ }
80
+ exports.createChannelStreamManagerFactory = createChannelStreamManagerFactory;
81
+ /**
82
+ * Create a factory function to create a `IStreamManager` instance, shared between all channels.
83
+ * So that the streams created could be used in different channels.
84
+ *
85
+ * @param defaultTimeout The default timeout value of each new binary stream.
86
+ * @returns The factory function.
87
+ */
88
+ function createSharedStreamManagerFactory(defaultTimeout = Constants.DEFAULT_STREAM_TIMEOUT, maxStreams = Constants.DEFAULT_MAX_STREAMS) {
89
+ const ret = new TvBinaryStreamManager(defaultTimeout, maxStreams);
90
+ return () => ret;
91
+ }
92
+ exports.createSharedStreamManagerFactory = createSharedStreamManagerFactory;
93
+ /**
94
+ * Create a factory function to create a `IStreamManager` instance, disabling all binary streams.
95
+ *
96
+ * > This is useful when you don't need binary streams.
97
+ *
98
+ * @returns The factory function.
99
+ */
100
+ function createDisabledStreamManagerFactory() {
101
+ const mgr = new TvBinaryStreamManager(0, 0);
102
+ return () => mgr;
103
+ }
104
+ exports.createDisabledStreamManagerFactory = createDisabledStreamManagerFactory;
105
+ //# sourceMappingURL=BinaryStreamManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BinaryStreamManager.js","sourceRoot":"","sources":["../../src/lib/shared/BinaryStreamManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Copyright 2023 Angus.Fenying <fenying@litert.org>
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ /// <reference types="node" />
17
+ /// <reference types="node" />
18
+ /// <reference types="node" />
19
+ import * as Shared from './Shared.decl';
20
+ import * as E from './Errors';
21
+ import type * as dT from '../transporters/Transporter.decl';
22
+ import { EventEmitter } from 'node:events';
23
+ import * as v2 from './Encodings/v2';
24
+ export interface IChannelEvents extends Shared.IDefaultEvents {
25
+ close(): void;
26
+ ['api_call'](callback: (response: v2.IDataChunkField | E.TelevokeError | E.TvErrorResponse) => void, name: string, args: Buffer[], sequence: number): void;
27
+ ['push_message'](message: Buffer[], sequence: number): void;
28
+ end(): void;
29
+ finish(): void;
30
+ warning(e: unknown): void;
31
+ }
32
+ export declare const decoder: v2.TvDecoderV2;
33
+ export declare const encoder: v2.TvEncoderV2;
34
+ export interface IPendingRequests {
35
+ cmd: v2.ECommand;
36
+ seq: number;
37
+ timer?: NodeJS.Timeout;
38
+ callback: (cmd: v2.ICommandPacket) => void;
39
+ }
40
+ export declare abstract class AbstractTvChannelV2 extends EventEmitter implements Shared.IChannelBase<IChannelEvents> {
41
+ readonly id: number;
42
+ readonly transporter: dT.ITransporter & Shared.ITransporter;
43
+ timeout: number;
44
+ protected _seqCounter: number;
45
+ readonly context: Record<string, unknown>;
46
+ /**
47
+ * The context of requests sent out, waiting for replies.
48
+ */
49
+ protected _sentRequests: Record<string, IPendingRequests>;
50
+ /**
51
+ * The qty of received and not responded requests, waiting for replies.
52
+ */
53
+ protected _recvRequests: number;
54
+ private _state;
55
+ ended: boolean;
56
+ get finished(): boolean;
57
+ get writable(): boolean;
58
+ readonly streams: Shared.IStreamManager;
59
+ constructor(id: number, transporter: dT.ITransporter & Shared.ITransporter, timeout: number, streamManagerFactory: Shared.IStreamManagerFactory);
60
+ private readonly _onData;
61
+ private readonly _onConnError;
62
+ private readonly _onConnClose;
63
+ private readonly _onRemoteEnded;
64
+ private readonly _onLocalEnded;
65
+ private _setup;
66
+ private _end;
67
+ private _tryClean;
68
+ private _isIdle;
69
+ private _onResponse;
70
+ private _reply;
71
+ private _onRequest;
72
+ protected _setTimeout(cmd: v2.ECommand, seq: number, callback: (packet: v2.ICommandPacket) => any): void;
73
+ openBinaryStream(): Shared.IBinaryReadStream;
74
+ ping(message?: Buffer | string): Promise<Buffer>;
75
+ sendBinaryChunk(streamId: number, chunk: Buffer | null): Promise<void>;
76
+ sendMessage(message: string | Buffer): Promise<void>;
77
+ close(): void;
78
+ }
79
+ //# sourceMappingURL=Channel.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Channel.impl.d.ts","sourceRoot":"","sources":["../../src/lib/shared/Channel.impl.ts"],"names":[],"mappings":"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"}