@nsshunt/stsappframework 3.1.214 → 3.1.215

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 (370) hide show
  1. package/dist/commonTypes.js.map +1 -1
  2. package/dist/index.js +1 -7
  3. package/dist/index.js.map +1 -1
  4. package/dist/serverprocessbase.js +2 -2
  5. package/dist/serverprocessbase.js.map +1 -1
  6. package/dist/stscontrollerbase.js.map +1 -1
  7. package/dist/{server.js → stsexpressserver.js} +1 -1
  8. package/dist/stsexpressserver.js.map +1 -0
  9. package/dist/stslatencycontroller.js.map +1 -1
  10. package/dist/stslatencyroute.js.map +1 -1
  11. package/dist/stsrouterbase.js.map +1 -1
  12. package/dist/vitesttesting/appSingleWSS.js +2 -1
  13. package/dist/vitesttesting/appSingleWSS.js.map +1 -1
  14. package/dist/workerprocessbase.js.map +1 -1
  15. package/package.json +5 -6
  16. package/src/commonTypes.ts +2 -0
  17. package/src/index.ts +1 -7
  18. package/src/serverprocessbase.ts +1 -1
  19. package/src/{socketIoServerHelper.ts → socketIoServerHelper.ts_bak} +1 -2
  20. package/src/stscontrollerbase.ts +1 -2
  21. package/src/{server.ts → stsexpressserver.ts} +1 -2
  22. package/src/stslatencycontroller.ts +1 -2
  23. package/src/stslatencyroute.ts +1 -2
  24. package/src/stsrouterbase.ts +1 -2
  25. package/src/vitesttesting/appSingleWSS.ts +2 -1
  26. package/src/workerprocessbase.ts +1 -2
  27. package/types/commonTypes.d.ts +0 -15
  28. package/types/commonTypes.d.ts.map +1 -1
  29. package/types/index.d.ts +0 -7
  30. package/types/index.d.ts.map +1 -1
  31. package/types/serverprocessbase.d.ts +1 -1
  32. package/types/serverprocessbase.d.ts.map +1 -1
  33. package/types/stscontrollerbase.d.ts.map +1 -1
  34. package/types/{server.d.ts → stsexpressserver.d.ts} +1 -1
  35. package/types/stsexpressserver.d.ts.map +1 -0
  36. package/types/stslatencycontroller.d.ts.map +1 -1
  37. package/types/stslatencyroute.d.ts.map +1 -1
  38. package/types/stsrouterbase.d.ts.map +1 -1
  39. package/types/vitesttesting/appSingleWSS.d.ts.map +1 -1
  40. package/types/workerprocessbase.d.ts.map +1 -1
  41. package/dist/authDefs.js +0 -33
  42. package/dist/authDefs.js.map +0 -1
  43. package/dist/gRPC/ststest/protos/auth_sample.js +0 -3
  44. package/dist/gRPC/ststest/protos/auth_sample.js.map +0 -1
  45. package/dist/gRPC/ststest/protos/echo.js +0 -3
  46. package/dist/gRPC/ststest/protos/echo.js.map +0 -1
  47. package/dist/gRPC/ststest/protos/grpc/examples/echo/Echo.js +0 -4
  48. package/dist/gRPC/ststest/protos/grpc/examples/echo/Echo.js.map +0 -1
  49. package/dist/gRPC/ststest/protos/grpc/examples/echo/EchoRequest.js +0 -4
  50. package/dist/gRPC/ststest/protos/grpc/examples/echo/EchoRequest.js.map +0 -1
  51. package/dist/gRPC/ststest/protos/grpc/examples/echo/EchoResponse.js +0 -4
  52. package/dist/gRPC/ststest/protos/grpc/examples/echo/EchoResponse.js.map +0 -1
  53. package/dist/gRPC/ststest/protos/grpc/testing/Request.js +0 -4
  54. package/dist/gRPC/ststest/protos/grpc/testing/Request.js.map +0 -1
  55. package/dist/gRPC/ststest/protos/grpc/testing/Response.js +0 -4
  56. package/dist/gRPC/ststest/protos/grpc/testing/Response.js.map +0 -1
  57. package/dist/gRPC/ststest/protos/grpc/testing/TestService.js +0 -4
  58. package/dist/gRPC/ststest/protos/grpc/testing/TestService.js.map +0 -1
  59. package/dist/gRPC/ststest/protos/hellostreamingworld/HelloReply.js +0 -4
  60. package/dist/gRPC/ststest/protos/hellostreamingworld/HelloReply.js.map +0 -1
  61. package/dist/gRPC/ststest/protos/hellostreamingworld/HelloRequest.js +0 -4
  62. package/dist/gRPC/ststest/protos/hellostreamingworld/HelloRequest.js.map +0 -1
  63. package/dist/gRPC/ststest/protos/hellostreamingworld/MultiGreeter.js +0 -4
  64. package/dist/gRPC/ststest/protos/hellostreamingworld/MultiGreeter.js.map +0 -1
  65. package/dist/gRPC/ststest/protos/hellostreamingworld.js +0 -3
  66. package/dist/gRPC/ststest/protos/hellostreamingworld.js.map +0 -1
  67. package/dist/gRPC/ststest/protos/helloworld/Greeter.js +0 -4
  68. package/dist/gRPC/ststest/protos/helloworld/Greeter.js.map +0 -1
  69. package/dist/gRPC/ststest/protos/helloworld/HelloReply.js +0 -4
  70. package/dist/gRPC/ststest/protos/helloworld/HelloReply.js.map +0 -1
  71. package/dist/gRPC/ststest/protos/helloworld/HelloRequest.js +0 -4
  72. package/dist/gRPC/ststest/protos/helloworld/HelloRequest.js.map +0 -1
  73. package/dist/gRPC/ststest/protos/helloworld.js +0 -3
  74. package/dist/gRPC/ststest/protos/helloworld.js.map +0 -1
  75. package/dist/gRPC/ststest/protos/keyvaluestore/KeyValueStore.js +0 -4
  76. package/dist/gRPC/ststest/protos/keyvaluestore/KeyValueStore.js.map +0 -1
  77. package/dist/gRPC/ststest/protos/keyvaluestore/Request.js +0 -4
  78. package/dist/gRPC/ststest/protos/keyvaluestore/Request.js.map +0 -1
  79. package/dist/gRPC/ststest/protos/keyvaluestore/Response.js +0 -4
  80. package/dist/gRPC/ststest/protos/keyvaluestore/Response.js.map +0 -1
  81. package/dist/gRPC/ststest/protos/keyvaluestore.js +0 -3
  82. package/dist/gRPC/ststest/protos/keyvaluestore.js.map +0 -1
  83. package/dist/gRPC/ststest/protos/route_guide.js +0 -3
  84. package/dist/gRPC/ststest/protos/route_guide.js.map +0 -1
  85. package/dist/gRPC/ststest/protos/routeguide/Feature.js +0 -4
  86. package/dist/gRPC/ststest/protos/routeguide/Feature.js.map +0 -1
  87. package/dist/gRPC/ststest/protos/routeguide/Point.js +0 -4
  88. package/dist/gRPC/ststest/protos/routeguide/Point.js.map +0 -1
  89. package/dist/gRPC/ststest/protos/routeguide/Rectangle.js +0 -4
  90. package/dist/gRPC/ststest/protos/routeguide/Rectangle.js.map +0 -1
  91. package/dist/gRPC/ststest/protos/routeguide/RouteGuide.js +0 -4
  92. package/dist/gRPC/ststest/protos/routeguide/RouteGuide.js.map +0 -1
  93. package/dist/gRPC/ststest/protos/routeguide/RouteNote.js +0 -4
  94. package/dist/gRPC/ststest/protos/routeguide/RouteNote.js.map +0 -1
  95. package/dist/gRPC/ststest/protos/routeguide/RouteSummary.js +0 -4
  96. package/dist/gRPC/ststest/protos/routeguide/RouteSummary.js.map +0 -1
  97. package/dist/gRPC/ststest/src/commonTypes.js +0 -3
  98. package/dist/gRPC/ststest/src/commonTypes.js.map +0 -1
  99. package/dist/gRPC/ststest/src/greeter_client.js +0 -67
  100. package/dist/gRPC/ststest/src/greeter_client.js.map +0 -1
  101. package/dist/gRPC/ststest/src/greeter_server.js +0 -78
  102. package/dist/gRPC/ststest/src/greeter_server.js.map +0 -1
  103. package/dist/gRPC/ststest/src/route_guide_client.js +0 -258
  104. package/dist/gRPC/ststest/src/route_guide_client.js.map +0 -1
  105. package/dist/gRPC/ststest/src/route_guide_server.js +0 -237
  106. package/dist/gRPC/ststest/src/route_guide_server.js.map +0 -1
  107. package/dist/gRPC/ststest/src/route_guide_server2.js +0 -205
  108. package/dist/gRPC/ststest/src/route_guide_server2.js.map +0 -1
  109. package/dist/influxdb/influxDBManager.js +0 -304
  110. package/dist/influxdb/influxDBManager.js.map +0 -1
  111. package/dist/influxdb/influxDBManagerAgent.js +0 -14
  112. package/dist/influxdb/influxDBManagerAgent.js.map +0 -1
  113. package/dist/influxdb/influxDBManagerBase.js +0 -100
  114. package/dist/influxdb/influxDBManagerBase.js.map +0 -1
  115. package/dist/influxdb/influxDBManagerLambda.js +0 -17
  116. package/dist/influxdb/influxDBManagerLambda.js.map +0 -1
  117. package/dist/influxdb/influxDBManagerService.js +0 -14
  118. package/dist/influxdb/influxDBManagerService.js.map +0 -1
  119. package/dist/publishInstrumentsWebWorker.js +0 -159
  120. package/dist/publishInstrumentsWebWorker.js.map +0 -1
  121. package/dist/server.js.map +0 -1
  122. package/dist/socketIoServerHelper.js +0 -125
  123. package/dist/socketIoServerHelper.js.map +0 -1
  124. package/dist/tcpclient/app.js +0 -23
  125. package/dist/tcpclient/app.js.map +0 -1
  126. package/dist/tcpclient/app2.js +0 -57
  127. package/dist/tcpclient/app2.js.map +0 -1
  128. package/dist/tcpserver/app.js +0 -16
  129. package/dist/tcpserver/app.js.map +0 -1
  130. package/dist/tcpserver/appConfig.js +0 -83
  131. package/dist/tcpserver/appConfig.js.map +0 -1
  132. package/dist/tcpserver/appmaster.js +0 -446
  133. package/dist/tcpserver/appmaster.js.map +0 -1
  134. package/dist/testertesting/app.js +0 -284
  135. package/dist/testertesting/app.js.map +0 -1
  136. package/dist/testertesting/commonTypes.js +0 -47
  137. package/dist/testertesting/commonTypes.js.map +0 -1
  138. package/dist/testertesting/telemetryProcessor.js +0 -111
  139. package/dist/testertesting/telemetryProcessor.js.map +0 -1
  140. package/dist/testertesting/testCase01.js +0 -169
  141. package/dist/testertesting/testCase01.js.map +0 -1
  142. package/dist/testertesting/workerInstance.js +0 -263
  143. package/dist/testertesting/workerInstance.js.map +0 -1
  144. package/dist/testertesting/workerManager.js +0 -450
  145. package/dist/testertesting/workerManager.js.map +0 -1
  146. package/dist/testertesting/workerWorkerTestRunner01.js +0 -35
  147. package/dist/testertesting/workerWorkerTestRunner01.js.map +0 -1
  148. package/dist/testing/app.js +0 -18
  149. package/dist/testing/app.js.map +0 -1
  150. package/dist/testing/appConfig.js +0 -93
  151. package/dist/testing/appConfig.js.map +0 -1
  152. package/dist/testing/appTinyEmitter.js +0 -37
  153. package/dist/testing/appTinyEmitter.js.map +0 -1
  154. package/dist/testing/appWorkerWSS.js +0 -151
  155. package/dist/testing/appWorkerWSS.js.map +0 -1
  156. package/dist/testing/appredistest.js +0 -239
  157. package/dist/testing/appredistest.js.map +0 -1
  158. package/dist/testing/appsolo.js +0 -67
  159. package/dist/testing/appsolo.js.map +0 -1
  160. package/dist/testing/promiseTesting.js +0 -77
  161. package/dist/testing/promiseTesting.js.map +0 -1
  162. package/dist/testing/server.js +0 -15
  163. package/dist/testing/server.js.map +0 -1
  164. package/dist/testing/wsevents.js +0 -3
  165. package/dist/testing/wsevents.js.map +0 -1
  166. package/dist/webworkertesting/app.js +0 -44
  167. package/dist/webworkertesting/app.js.map +0 -1
  168. package/dist/webworkertesting/worker.js +0 -21
  169. package/dist/webworkertesting/worker.js.map +0 -1
  170. package/src/authDefs.ts +0 -37
  171. package/src/gRPC/ststest/protos/BUILD +0 -82
  172. package/src/gRPC/ststest/protos/README.md +0 -8
  173. package/src/gRPC/ststest/protos/auth_sample.proto +0 -42
  174. package/src/gRPC/ststest/protos/auth_sample.ts +0 -20
  175. package/src/gRPC/ststest/protos/echo.proto +0 -45
  176. package/src/gRPC/ststest/protos/echo.ts +0 -22
  177. package/src/gRPC/ststest/protos/grpc/examples/echo/Echo.ts +0 -55
  178. package/src/gRPC/ststest/protos/grpc/examples/echo/EchoRequest.ts +0 -10
  179. package/src/gRPC/ststest/protos/grpc/examples/echo/EchoResponse.ts +0 -10
  180. package/src/gRPC/ststest/protos/grpc/testing/Request.ts +0 -12
  181. package/src/gRPC/ststest/protos/grpc/testing/Response.ts +0 -12
  182. package/src/gRPC/ststest/protos/grpc/testing/TestService.ts +0 -27
  183. package/src/gRPC/ststest/protos/hellostreamingworld/HelloReply.ts +0 -10
  184. package/src/gRPC/ststest/protos/hellostreamingworld/HelloRequest.ts +0 -12
  185. package/src/gRPC/ststest/protos/hellostreamingworld/MultiGreeter.ts +0 -23
  186. package/src/gRPC/ststest/protos/hellostreamingworld.proto +0 -39
  187. package/src/gRPC/ststest/protos/hellostreamingworld.ts +0 -18
  188. package/src/gRPC/ststest/protos/helloworld/Greeter.ts +0 -35
  189. package/src/gRPC/ststest/protos/helloworld/HelloReply.ts +0 -10
  190. package/src/gRPC/ststest/protos/helloworld/HelloRequest.ts +0 -10
  191. package/src/gRPC/ststest/protos/helloworld.proto +0 -40
  192. package/src/gRPC/ststest/protos/helloworld.ts +0 -18
  193. package/src/gRPC/ststest/protos/keyvaluestore/KeyValueStore.ts +0 -23
  194. package/src/gRPC/ststest/protos/keyvaluestore/Request.ts +0 -10
  195. package/src/gRPC/ststest/protos/keyvaluestore/Response.ts +0 -10
  196. package/src/gRPC/ststest/protos/keyvaluestore.proto +0 -33
  197. package/src/gRPC/ststest/protos/keyvaluestore.ts +0 -18
  198. package/src/gRPC/ststest/protos/route_guide.proto +0 -111
  199. package/src/gRPC/ststest/protos/route_guide.ts +0 -21
  200. package/src/gRPC/ststest/protos/routeguide/Feature.ts +0 -13
  201. package/src/gRPC/ststest/protos/routeguide/Point.ts +0 -12
  202. package/src/gRPC/ststest/protos/routeguide/Rectangle.ts +0 -13
  203. package/src/gRPC/ststest/protos/routeguide/RouteGuide.ts +0 -58
  204. package/src/gRPC/ststest/protos/routeguide/RouteNote.ts +0 -13
  205. package/src/gRPC/ststest/protos/routeguide/RouteSummary.ts +0 -16
  206. package/src/gRPC/ststest/src/commonTypes.ts +0 -27
  207. package/src/gRPC/ststest/src/greeter_client.ts +0 -52
  208. package/src/gRPC/ststest/src/greeter_server.ts +0 -62
  209. package/src/gRPC/ststest/src/route_guide_client.ts +0 -266
  210. package/src/gRPC/ststest/src/route_guide_server.ts +0 -234
  211. package/src/gRPC/ststest/src/route_guide_server2.ts +0 -211
  212. package/src/influxdb/influxDBManager.ts +0 -334
  213. package/src/influxdb/influxDBManagerAgent.ts +0 -14
  214. package/src/influxdb/influxDBManagerBase.ts +0 -108
  215. package/src/influxdb/influxDBManagerLambda.ts +0 -17
  216. package/src/influxdb/influxDBManagerService.ts +0 -14
  217. package/src/publishInstrumentsWebWorker.ts +0 -157
  218. package/src/tcpclient/app.ts +0 -21
  219. package/src/tcpclient/app2.ts +0 -58
  220. package/src/tcpserver/app.ts +0 -11
  221. package/src/tcpserver/appConfig.ts +0 -99
  222. package/src/tcpserver/appmaster.ts +0 -503
  223. package/src/testertesting/app.ts +0 -349
  224. package/src/testertesting/commonTypes.ts +0 -236
  225. package/src/testertesting/telemetryProcessor.ts +0 -125
  226. package/src/testertesting/testCase01.ts +0 -207
  227. package/src/testertesting/workerInstance.ts +0 -297
  228. package/src/testertesting/workerManager.ts +0 -511
  229. package/src/testertesting/workerWorkerTestRunner01.ts +0 -34
  230. package/src/testing/app.ts +0 -14
  231. package/src/testing/appConfig.ts +0 -110
  232. package/src/testing/appTinyEmitter.ts +0 -57
  233. package/src/testing/appWorkerWSS.ts +0 -174
  234. package/src/testing/appredistest.ts +0 -304
  235. package/src/testing/appsolo.ts +0 -96
  236. package/src/testing/docker-compose.yml +0 -20
  237. package/src/testing/promiseTesting.ts +0 -86
  238. package/src/testing/server.ts +0 -17
  239. package/src/testing/wsevents.ts +0 -33
  240. package/src/webworkertesting/app.ts +0 -56
  241. package/src/webworkertesting/worker.ts +0 -24
  242. package/types/authDefs.d.ts +0 -29
  243. package/types/authDefs.d.ts.map +0 -1
  244. package/types/gRPC/ststest/protos/auth_sample.d.ts +0 -19
  245. package/types/gRPC/ststest/protos/auth_sample.d.ts.map +0 -1
  246. package/types/gRPC/ststest/protos/echo.d.ts +0 -21
  247. package/types/gRPC/ststest/protos/echo.d.ts.map +0 -1
  248. package/types/gRPC/ststest/protos/grpc/examples/echo/Echo.d.ts +0 -43
  249. package/types/gRPC/ststest/protos/grpc/examples/echo/Echo.d.ts.map +0 -1
  250. package/types/gRPC/ststest/protos/grpc/examples/echo/EchoRequest.d.ts +0 -7
  251. package/types/gRPC/ststest/protos/grpc/examples/echo/EchoRequest.d.ts.map +0 -1
  252. package/types/gRPC/ststest/protos/grpc/examples/echo/EchoResponse.d.ts +0 -7
  253. package/types/gRPC/ststest/protos/grpc/examples/echo/EchoResponse.d.ts.map +0 -1
  254. package/types/gRPC/ststest/protos/grpc/testing/Request.d.ts +0 -9
  255. package/types/gRPC/ststest/protos/grpc/testing/Request.d.ts.map +0 -1
  256. package/types/gRPC/ststest/protos/grpc/testing/Response.d.ts +0 -9
  257. package/types/gRPC/ststest/protos/grpc/testing/Response.d.ts.map +0 -1
  258. package/types/gRPC/ststest/protos/grpc/testing/TestService.d.ts +0 -21
  259. package/types/gRPC/ststest/protos/grpc/testing/TestService.d.ts.map +0 -1
  260. package/types/gRPC/ststest/protos/hellostreamingworld/HelloReply.d.ts +0 -7
  261. package/types/gRPC/ststest/protos/hellostreamingworld/HelloReply.d.ts.map +0 -1
  262. package/types/gRPC/ststest/protos/hellostreamingworld/HelloRequest.d.ts +0 -9
  263. package/types/gRPC/ststest/protos/hellostreamingworld/HelloRequest.d.ts.map +0 -1
  264. package/types/gRPC/ststest/protos/hellostreamingworld/MultiGreeter.d.ts +0 -17
  265. package/types/gRPC/ststest/protos/hellostreamingworld/MultiGreeter.d.ts.map +0 -1
  266. package/types/gRPC/ststest/protos/hellostreamingworld.d.ts +0 -17
  267. package/types/gRPC/ststest/protos/hellostreamingworld.d.ts.map +0 -1
  268. package/types/gRPC/ststest/protos/helloworld/Greeter.d.ts +0 -27
  269. package/types/gRPC/ststest/protos/helloworld/Greeter.d.ts.map +0 -1
  270. package/types/gRPC/ststest/protos/helloworld/HelloReply.d.ts +0 -7
  271. package/types/gRPC/ststest/protos/helloworld/HelloReply.d.ts.map +0 -1
  272. package/types/gRPC/ststest/protos/helloworld/HelloRequest.d.ts +0 -7
  273. package/types/gRPC/ststest/protos/helloworld/HelloRequest.d.ts.map +0 -1
  274. package/types/gRPC/ststest/protos/helloworld.d.ts +0 -17
  275. package/types/gRPC/ststest/protos/helloworld.d.ts.map +0 -1
  276. package/types/gRPC/ststest/protos/keyvaluestore/KeyValueStore.d.ts +0 -17
  277. package/types/gRPC/ststest/protos/keyvaluestore/KeyValueStore.d.ts.map +0 -1
  278. package/types/gRPC/ststest/protos/keyvaluestore/Request.d.ts +0 -7
  279. package/types/gRPC/ststest/protos/keyvaluestore/Request.d.ts.map +0 -1
  280. package/types/gRPC/ststest/protos/keyvaluestore/Response.d.ts +0 -7
  281. package/types/gRPC/ststest/protos/keyvaluestore/Response.d.ts.map +0 -1
  282. package/types/gRPC/ststest/protos/keyvaluestore.d.ts +0 -17
  283. package/types/gRPC/ststest/protos/keyvaluestore.d.ts.map +0 -1
  284. package/types/gRPC/ststest/protos/route_guide.d.ts +0 -20
  285. package/types/gRPC/ststest/protos/route_guide.d.ts.map +0 -1
  286. package/types/gRPC/ststest/protos/routeguide/Feature.d.ts +0 -10
  287. package/types/gRPC/ststest/protos/routeguide/Feature.d.ts.map +0 -1
  288. package/types/gRPC/ststest/protos/routeguide/Point.d.ts +0 -9
  289. package/types/gRPC/ststest/protos/routeguide/Point.d.ts.map +0 -1
  290. package/types/gRPC/ststest/protos/routeguide/Rectangle.d.ts +0 -10
  291. package/types/gRPC/ststest/protos/routeguide/Rectangle.d.ts.map +0 -1
  292. package/types/gRPC/ststest/protos/routeguide/RouteGuide.d.ts +0 -46
  293. package/types/gRPC/ststest/protos/routeguide/RouteGuide.d.ts.map +0 -1
  294. package/types/gRPC/ststest/protos/routeguide/RouteNote.d.ts +0 -10
  295. package/types/gRPC/ststest/protos/routeguide/RouteNote.d.ts.map +0 -1
  296. package/types/gRPC/ststest/protos/routeguide/RouteSummary.d.ts +0 -13
  297. package/types/gRPC/ststest/protos/routeguide/RouteSummary.d.ts.map +0 -1
  298. package/types/gRPC/ststest/src/commonTypes.d.ts +0 -23
  299. package/types/gRPC/ststest/src/commonTypes.d.ts.map +0 -1
  300. package/types/gRPC/ststest/src/greeter_client.d.ts +0 -3
  301. package/types/gRPC/ststest/src/greeter_client.d.ts.map +0 -1
  302. package/types/gRPC/ststest/src/greeter_server.d.ts +0 -3
  303. package/types/gRPC/ststest/src/greeter_server.d.ts.map +0 -1
  304. package/types/gRPC/ststest/src/route_guide_client.d.ts +0 -3
  305. package/types/gRPC/ststest/src/route_guide_client.d.ts.map +0 -1
  306. package/types/gRPC/ststest/src/route_guide_server.d.ts +0 -3
  307. package/types/gRPC/ststest/src/route_guide_server.d.ts.map +0 -1
  308. package/types/gRPC/ststest/src/route_guide_server2.d.ts +0 -3
  309. package/types/gRPC/ststest/src/route_guide_server2.d.ts.map +0 -1
  310. package/types/influxdb/influxDBManager.d.ts +0 -21
  311. package/types/influxdb/influxDBManager.d.ts.map +0 -1
  312. package/types/influxdb/influxDBManagerAgent.d.ts +0 -8
  313. package/types/influxdb/influxDBManagerAgent.d.ts.map +0 -1
  314. package/types/influxdb/influxDBManagerBase.d.ts +0 -14
  315. package/types/influxdb/influxDBManagerBase.d.ts.map +0 -1
  316. package/types/influxdb/influxDBManagerLambda.d.ts +0 -11
  317. package/types/influxdb/influxDBManagerLambda.d.ts.map +0 -1
  318. package/types/influxdb/influxDBManagerService.d.ts +0 -8
  319. package/types/influxdb/influxDBManagerService.d.ts.map +0 -1
  320. package/types/publishInstrumentsWebWorker.d.ts +0 -1
  321. package/types/publishInstrumentsWebWorker.d.ts.map +0 -1
  322. package/types/server.d.ts.map +0 -1
  323. package/types/socketIoServerHelper.d.ts +0 -20
  324. package/types/socketIoServerHelper.d.ts.map +0 -1
  325. package/types/tcpclient/app.d.ts +0 -2
  326. package/types/tcpclient/app.d.ts.map +0 -1
  327. package/types/tcpclient/app2.d.ts +0 -2
  328. package/types/tcpclient/app2.d.ts.map +0 -1
  329. package/types/tcpserver/app.d.ts +0 -2
  330. package/types/tcpserver/app.d.ts.map +0 -1
  331. package/types/tcpserver/appConfig.d.ts +0 -3
  332. package/types/tcpserver/appConfig.d.ts.map +0 -1
  333. package/types/tcpserver/appmaster.d.ts +0 -24
  334. package/types/tcpserver/appmaster.d.ts.map +0 -1
  335. package/types/testertesting/app.d.ts +0 -2
  336. package/types/testertesting/app.d.ts.map +0 -1
  337. package/types/testertesting/commonTypes.d.ts +0 -215
  338. package/types/testertesting/commonTypes.d.ts.map +0 -1
  339. package/types/testertesting/telemetryProcessor.d.ts +0 -6
  340. package/types/testertesting/telemetryProcessor.d.ts.map +0 -1
  341. package/types/testertesting/testCase01.d.ts +0 -20
  342. package/types/testertesting/testCase01.d.ts.map +0 -1
  343. package/types/testertesting/workerInstance.d.ts +0 -23
  344. package/types/testertesting/workerInstance.d.ts.map +0 -1
  345. package/types/testertesting/workerManager.d.ts +0 -16
  346. package/types/testertesting/workerManager.d.ts.map +0 -1
  347. package/types/testertesting/workerWorkerTestRunner01.d.ts +0 -7
  348. package/types/testertesting/workerWorkerTestRunner01.d.ts.map +0 -1
  349. package/types/testing/app.d.ts +0 -2
  350. package/types/testing/app.d.ts.map +0 -1
  351. package/types/testing/appConfig.d.ts +0 -3
  352. package/types/testing/appConfig.d.ts.map +0 -1
  353. package/types/testing/appTinyEmitter.d.ts +0 -2
  354. package/types/testing/appTinyEmitter.d.ts.map +0 -1
  355. package/types/testing/appWorkerWSS.d.ts +0 -26
  356. package/types/testing/appWorkerWSS.d.ts.map +0 -1
  357. package/types/testing/appredistest.d.ts +0 -4
  358. package/types/testing/appredistest.d.ts.map +0 -1
  359. package/types/testing/appsolo.d.ts +0 -3
  360. package/types/testing/appsolo.d.ts.map +0 -1
  361. package/types/testing/promiseTesting.d.ts +0 -4
  362. package/types/testing/promiseTesting.d.ts.map +0 -1
  363. package/types/testing/server.d.ts +0 -6
  364. package/types/testing/server.d.ts.map +0 -1
  365. package/types/testing/wsevents.d.ts +0 -18
  366. package/types/testing/wsevents.d.ts.map +0 -1
  367. package/types/webworkertesting/app.d.ts +0 -2
  368. package/types/webworkertesting/app.d.ts.map +0 -1
  369. package/types/webworkertesting/worker.d.ts +0 -2
  370. package/types/webworkertesting/worker.d.ts.map +0 -1
@@ -1,511 +0,0 @@
1
- /* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
2
- //import MyWorker from './sts-worker?worker' // https://vitejs.dev/guide/features.html#web-workers
3
- import { IAsyncRunnerContext, IIWMessagePayload, IIWMessagePayloadContentBase,
4
- IIWMessageCommand, eIWMessageCommands, IWorkerState, IRunnerState,
5
- ISTSAgentWorkerMessagePort, IWorkerEx, IRunner, IRunnerEx,
6
- ITestRunnerTelemetryPayload, IRunnerOptions, IRunnerTelemetry,
7
- IWorkerManagerOptions, IWorkerFactory, IRunnerEvent,
8
- IWorkerOptions
9
- } from './commonTypes'
10
-
11
- import { ModelDelimeter } from '@nsshunt/stsutils'
12
-
13
- import { Sleep } from '@nsshunt/stsutils';
14
-
15
- import { PublishInstrumentController } from '@nsshunt/stsobservability'
16
-
17
- import chalk from 'chalk';
18
- import { TelemetryProcessor } from './telemetryProcessor'
19
- chalk.level = 3;
20
-
21
- import isNode from 'detect-node'
22
-
23
- export class STSWorkerManager {
24
- //#agentSession: string = null;
25
- #workersEx: Record<string, IWorkerEx> = { };
26
- #runner = 0;
27
- #workerId = 0;
28
- #options: IWorkerManagerOptions;
29
- #STSInstrumentController: PublishInstrumentController
30
- #telemetryProcessor: TelemetryProcessor
31
-
32
- constructor(options?: IWorkerManagerOptions) {
33
- if (options) {
34
- this.#options = options;
35
- } else {
36
- this.#options = { } as IWorkerManagerOptions;
37
- }
38
-
39
- this.#STSInstrumentController = this.#options.publishInstrumentController;
40
- this.#telemetryProcessor = new TelemetryProcessor();
41
- }
42
-
43
- #debug = (message: string) => {
44
- console.log(chalk.cyan(`pid: [${process.pid}] STSWorkerManager::${message}`));
45
- }
46
-
47
- get WorkersEx(): Record<string, IWorkerEx> {
48
- return this.#workersEx;
49
- }
50
-
51
- get runnerId(): number {
52
- return this.#runner;
53
- }
54
-
55
- set runnerId(id: number) {
56
- this.#runner = id;
57
- }
58
-
59
- AddWorker = async (useWorkerFactory?: IWorkerFactory): Promise<IWorkerEx> => {
60
- let workerFactory: IWorkerFactory;
61
- if (useWorkerFactory) {
62
- // Use the supplied workFactory
63
- workerFactory = useWorkerFactory;
64
- } else {
65
- // Use the default workFactory
66
- workerFactory = this.#options.workerFactory
67
- }
68
-
69
- const workerId = this.#workerId++;
70
- const stsWorkerEx: IWorkerEx = {
71
- id: workerId,
72
- worker: workerFactory.createWorkerThreadWorker(),
73
- state: IWorkerState.starting,
74
- workerThreadWorkerOptions: workerFactory.workerThreadWorkerOptions,
75
- runnersEx: { } as Record<string, IRunnerEx>,
76
- runnersEvents: { } as Record<string, IRunnerEvent[]>,
77
-
78
- GetRunner: (id: string): IRunnerEx | null => this.#workersEx[workerId].GetRunner(id),
79
-
80
- // Commands to execute on individual runners
81
- AddRunner: (runnerOptions: IRunnerOptions): IRunnerEx => this.AddRunnerToWorker(stsWorkerEx, runnerOptions),
82
- StartRunner: (runner: IRunnerEx): Promise<boolean> => this.#StartRunner(stsWorkerEx, runner),
83
- StopRunner: (runner: IRunnerEx): Promise<boolean> => this.#StopRunner(stsWorkerEx, runner),
84
- PauseRunner: (runner: IRunnerEx): Promise<boolean> => this.#PauseRunner(stsWorkerEx, runner),
85
- ResumeRunner: (runner: IRunnerEx): Promise<boolean> => this.#ResumeRunner(stsWorkerEx, runner),
86
- TerminateRunner: (runner: IRunnerEx): Promise<boolean> => this.#TerminateRunner(stsWorkerEx, runner),
87
- ResetRunner: (runner: IRunnerEx): Promise<boolean> => this.#ResetRunner(stsWorkerEx, runner),
88
- ExecuteRunner: (runner: IRunnerEx): Promise<boolean> => this.#ExecuteRunner(stsWorkerEx, runner),
89
- UpdateOptionsRunner: (runner: IRunnerEx, options: IRunnerOptions): Promise<boolean> => this.#UpdateOptions(stsWorkerEx, runner, options),
90
-
91
- // Commands to execute on all runners
92
- Start: async (): Promise<boolean> => this.#StartWorker(stsWorkerEx),
93
- Stop: async (): Promise<boolean> => this.#StopWorker(stsWorkerEx),
94
- Pause: async (): Promise<boolean> => this.#PauseWorker(stsWorkerEx),
95
- Resume: async (): Promise<boolean> => this.#ResumeWorker(stsWorkerEx),
96
- Terminate: async (): Promise<boolean> => this.#TerminateWorker(stsWorkerEx),
97
- Reset: async (): Promise<boolean> => this.#ResetWorker(stsWorkerEx),
98
- Execute: async (): Promise<boolean> => this.#ExecuteWorker(stsWorkerEx),
99
- UpdateOptions: async (options: IRunnerOptions): Promise<boolean> => this.#UpdateOptionsWorker(stsWorkerEx, options)
100
- }
101
- this.#STSInstrumentController.LogEx(chalk.yellow(`pid: [${process.pid}] Creating new worker: [${stsWorkerEx.id}]`));
102
- this.#debug(`Adding worker: [${stsWorkerEx.id}]`);
103
-
104
- /*
105
- stsWorkerEx.worker.onmessage = function(data: MessageEvent) {
106
- console.log(data.data);
107
- }
108
-
109
- stsWorkerEx.worker.onerror = function(error) {
110
- console.log(error);
111
- };
112
- */
113
-
114
- const {
115
- port1, // process message port
116
- port2 // collector message port
117
- } = new MessageChannel();
118
-
119
- const workerPort = port1;
120
-
121
- this.#debug(`AddWorker::workerThreadWorkerOptions: [${stsWorkerEx.workerThreadWorkerOptions.id}]`);
122
-
123
- this.#PostMessageToWorker(stsWorkerEx, eIWMessageCommands.MessagePort, {
124
- port: port2,
125
- //applicationStoreState: stateCopy,
126
- options: {
127
- ...stsWorkerEx.workerThreadWorkerOptions
128
- } as IWorkerOptions
129
- } as ISTSAgentWorkerMessagePort, port2);
130
-
131
- // Process messages received back from the worker
132
- //workerPort.onmessage = async (data: MessageEvent) => {
133
- workerPort.on('message', (data: any) => {
134
- let publishMessagePayload: IIWMessagePayload;
135
- if (isNode) {
136
- publishMessagePayload = data as IIWMessagePayload;
137
- } else {
138
- // const publishMessagePayload: IIWMessagePayload = data.data as IIWMessagePayload; browser version
139
- publishMessagePayload = data.data as IIWMessagePayload; // browser version
140
- }
141
- switch (publishMessagePayload.command) {
142
- case eIWMessageCommands.MessagePortResponse :
143
- //this.#debug(`AddWorker::eIWMessageCommands.MessagePortResponse`);
144
- stsWorkerEx.state = IWorkerState.started;
145
- break;
146
- case eIWMessageCommands.InstrumentTelemetry :
147
- //this.#debug(`AddWorker::eIWMessageCommands.InstrumentTelemetry`);
148
- this.#ProcessTelemetry(stsWorkerEx, publishMessagePayload.payload as ITestRunnerTelemetryPayload);
149
- break;
150
- case eIWMessageCommands.Completed :
151
- //this.#debug(`AddWorker::eIWMessageCommands.InstrumentTelemetry`);
152
- this.#ProcessCompleted(stsWorkerEx, publishMessagePayload.payload as ITestRunnerTelemetryPayload);
153
- break;
154
- default :
155
- this.#debug(`AddWorker::default`);
156
- }
157
- });
158
-
159
- this.#workersEx[stsWorkerEx.id] = stsWorkerEx;
160
-
161
- this.#debug(`Added worker: [${stsWorkerEx.id}]`);
162
-
163
- return stsWorkerEx;
164
- }
165
-
166
- AddRunnerToWorker = (stsWorkerEx: IWorkerEx, runnerOptions: IRunnerOptions): IRunnerEx => {
167
- const runnerEx: IRunnerEx = this.#CreateAsyncRunner(stsWorkerEx, runnerOptions);
168
- stsWorkerEx.runnersEx[runnerEx.id] = runnerEx;
169
- this.#SetRunnerIntoWorker(stsWorkerEx, runnerEx);
170
- runnerEx.publishInstrumentController.LogEx(chalk.green(`Added runner: [${runnerEx.id}] into worker: [${stsWorkerEx.id}]`));
171
- return runnerEx;
172
- }
173
-
174
- #CreateRunnerCopy(runnerEx: IRunnerEx): IRunner {
175
- return {
176
- id: runnerEx.id,
177
- asyncRunnerContext: { ...runnerEx.asyncRunnerContext },
178
- options: { ...runnerEx.options },
179
- instrumentData: { ...runnerEx.instrumentData }
180
- } as IRunner
181
- }
182
-
183
- #SetRunnerIntoWorker = (workerEx: IWorkerEx, runnerEx: IRunnerEx): void => {
184
- // Now that the worker is setup, send the options
185
- //@@ wait until worker in running state
186
- const payload: ITestRunnerTelemetryPayload = {
187
- runner: this.#CreateRunnerCopy(runnerEx)
188
- }
189
- this.#PostMessageToWorker(workerEx, eIWMessageCommands.AddRunner, payload);
190
- }
191
-
192
- #ProcessTelemetry = (workerEx: IWorkerEx, payloadContents: ITestRunnerTelemetryPayload): void => {
193
- //const store = TelemetryStore();
194
-
195
- const { runner } = payloadContents;
196
-
197
- if (workerEx.runnersEx[runner.id]) {
198
- const runnerEx: IRunnerEx = workerEx.runnersEx[runner.id];
199
-
200
- // Copy telemetry
201
- runnerEx.instrumentData = { ...runner.instrumentData };
202
-
203
- if (runner.instrumentData.message) {
204
- runnerEx.instrumentData.message = [...runner.instrumentData.message];
205
- } else {
206
- runnerEx.instrumentData.message = [ ];
207
- }
208
-
209
- const update = this.#telemetryProcessor.ProcessTelemetry(runnerEx.publishInstrumentController, runnerEx.instrumentData);
210
-
211
- if (update) {
212
- //store.Update(workerEx, runnerEx);
213
- }
214
- }
215
- }
216
-
217
- #ProcessCompleted = (workerEx: IWorkerEx, payloadContents: ITestRunnerTelemetryPayload): void => {
218
- const { runner } = payloadContents;
219
- if (workerEx.runnersEvents[runner.id]) {
220
- const runnersEvents: IRunnerEvent[] = workerEx.runnersEvents[runner.id];
221
- runnersEvents.forEach(ev => {
222
- if (ev.eventName.localeCompare('Completed') === 0) {
223
- ev.cb();
224
- }
225
- })
226
- }
227
- console.log(chalk.green(`ProcessCompleted: [${JSON.stringify(runner)}]`));
228
- }
229
-
230
- #CreateAsyncRunner = (workerEx: IWorkerEx, runnerOptions: IRunnerOptions): IRunnerEx => {
231
- //const applicationStore = ApplicationStore();
232
- this.#runner++; // The runner number always increases
233
- this.#STSInstrumentController.LogEx(chalk.yellow(`Creating new async runner: [${this.#runner}]`));
234
- const asyncRunnerContext: IAsyncRunnerContext = {
235
- nid: `\
236
- ${workerEx.workerThreadWorkerOptions.hostName}${ModelDelimeter.COMPONENT_SEPERATOR}${workerEx.workerThreadWorkerOptions.agentId}-${workerEx.workerThreadWorkerOptions.userAgent}\
237
- ${ModelDelimeter.NID_SEPERATOR}\
238
- worker${workerEx.id}\
239
- ${ModelDelimeter.SEPERATOR}\
240
- ${this.#runner}`,
241
- id: this.#runner.toString(),
242
- hostName: (workerEx.workerThreadWorkerOptions.hostName ? workerEx.workerThreadWorkerOptions.hostName : 'host'),
243
- agentName: `${workerEx.workerThreadWorkerOptions.agentId}-${workerEx.workerThreadWorkerOptions.userAgent}`,
244
- threadId: `worker${workerEx.id}`,
245
- asyncRunnerId: this.#runner
246
- }
247
-
248
- const runnerEx: IRunnerEx = {
249
- id: this.#runner,
250
- publishInstrumentController: this.#STSInstrumentController.AddPublishInstrumentController(asyncRunnerContext),
251
- asyncRunnerContext: asyncRunnerContext,
252
- options: runnerOptions,
253
- instrumentData: {
254
- requestCount: 0,
255
- errorCount: 0,
256
- retryCount: 0,
257
- authenticationCount: 0,
258
- authenticationErrorCount: 0,
259
- authenticationRetryCount: 0,
260
- velocity: 0,
261
- coreCount: 0,
262
- timer: 0,
263
- duration: 0,
264
- latency: 0,
265
- activeRequestCount: 0,
266
- message: [ ],
267
- childCount: 0,
268
- rx: 0,
269
- tx: 0
270
- } as IRunnerTelemetry,
271
- Start: async (): Promise<boolean> => this.#StartRunner(workerEx, runnerEx),
272
- Stop: async (): Promise<boolean> => this.#StopRunner(workerEx, runnerEx),
273
- Pause: async (): Promise<boolean> => this.#PauseRunner(workerEx, runnerEx),
274
- Resume: async (): Promise<boolean> => this.#ResumeRunner(workerEx, runnerEx),
275
- Reset: async (): Promise<boolean> => this.#ResetRunner(workerEx, runnerEx),
276
- Execute: async (): Promise<boolean> => this.#ExecuteRunner(workerEx, runnerEx),
277
- Terminate: async (): Promise<boolean> => this.#TerminateRunner(workerEx, runnerEx),
278
- UpdateOptions: async (options: IRunnerOptions): Promise<boolean> => this.#UpdateOptions(workerEx, runnerEx, options),
279
- on: (eventName: string, cb: () => void): IRunnerEx => {
280
- if (!workerEx.runnersEvents[runnerEx.id]) {
281
- workerEx.runnersEvents[runnerEx.id] = [ ];
282
- }
283
- workerEx.runnersEvents[runnerEx.id].push({
284
- eventName,
285
- cb
286
- });
287
- return runnerEx;
288
- }
289
- }
290
-
291
- return runnerEx;
292
- }
293
-
294
- #PostMessageToWorker = (workerEx: IWorkerEx, command: IIWMessageCommand, payload: IIWMessagePayloadContentBase | null, transferObject?: any) => {
295
- if (transferObject) {
296
- this.#debug(`#PostMessageToWorker with transfer object`);
297
- workerEx.worker.postMessage({ command, payload }, [transferObject]);
298
- this.#debug(`#PostMessageToWorker with transfer object - done...`);
299
- } else {
300
- this.#debug(`#PostMessageToWorker`);
301
- workerEx.worker.postMessage({ command, payload });
302
- }
303
- }
304
-
305
- #StartRunner = async (workerEx: IWorkerEx, runnerEx: IRunnerEx): Promise<boolean> => {
306
- this.#PostMessageToWorker(workerEx, eIWMessageCommands.StartRunner, {
307
- runner: this.#CreateRunnerCopy(runnerEx)
308
- } as ITestRunnerTelemetryPayload);
309
- return true;
310
- }
311
-
312
- #ResetRunner = async (workerEx: IWorkerEx, runnerEx: IRunnerEx): Promise<boolean> => {
313
- this.#PostMessageToWorker(workerEx, eIWMessageCommands.ResetRunner, {
314
- runner: this.#CreateRunnerCopy(runnerEx)
315
- } as ITestRunnerTelemetryPayload);
316
- return true;
317
- }
318
-
319
- #ExecuteRunner = async (workerEx: IWorkerEx, runnerEx: IRunnerEx): Promise<boolean> => {
320
- this.#PostMessageToWorker(workerEx, eIWMessageCommands.ExecuteRunner, {
321
- runner: this.#CreateRunnerCopy(runnerEx)
322
- } as ITestRunnerTelemetryPayload);
323
- return true;
324
- }
325
-
326
- #StopRunner = async (workerEx: IWorkerEx, runnerEx: IRunnerEx): Promise<boolean> => {
327
- this.#PostMessageToWorker(workerEx, eIWMessageCommands.StopRunner, {
328
- runner: this.#CreateRunnerCopy(runnerEx)
329
- } as ITestRunnerTelemetryPayload);
330
- return true;
331
- }
332
-
333
- #TerminateRunner = async (workerEx: IWorkerEx, runnerEx: IRunnerEx | null = null): Promise<boolean> => {
334
- // If runnerEx not provided, Remove the first runner in the collection
335
- if (runnerEx === null) {
336
- const ids: string[] = Object.keys(workerEx.runnersEx);
337
- if (ids.length > 0) {
338
- const id = ids[0];
339
- runnerEx = workerEx.runnersEx[id];
340
- }
341
- }
342
- if (runnerEx !== null) {
343
- this.#PostMessageToWorker(workerEx, eIWMessageCommands.TerminateRunner, {
344
- runner: this.#CreateRunnerCopy(runnerEx)
345
- } as ITestRunnerTelemetryPayload);
346
-
347
- runnerEx.publishInstrumentController.LogEx(`Terminating runner: [${runnerEx.id}]`);
348
-
349
- const promArray: Promise<boolean>[] = [ ];
350
-
351
- promArray.push((async (): Promise<boolean> => {
352
- await Sleep(100);
353
- return runnerEx.publishInstrumentController.EndPublish() as Promise<boolean>
354
- })());
355
-
356
- //const store = TelemetryStore();
357
- //store.RemoveRunner(workerEx, runnerEx);
358
-
359
- delete workerEx.runnersEx[runnerEx.id];
360
-
361
- const retVal = await Promise.all(promArray);
362
- console.log(`Removed instrument workers: [${retVal}]`);
363
- }
364
- return true;
365
- }
366
-
367
- #PauseRunner = async (workerEx: IWorkerEx, runnerEx: IRunnerEx): Promise<boolean> => {
368
- this.#PostMessageToWorker(workerEx, eIWMessageCommands.PauseRunner, {
369
- runner: this.#CreateRunnerCopy(runnerEx)
370
- } as ITestRunnerTelemetryPayload);
371
- return true;
372
- }
373
-
374
- #ResumeRunner = async (workerEx: IWorkerEx, runnerEx: IRunnerEx): Promise<boolean> => {
375
- this.#PostMessageToWorker(workerEx, eIWMessageCommands.ResumeRunner, {
376
- runner: this.#CreateRunnerCopy(runnerEx)
377
- } as ITestRunnerTelemetryPayload);
378
- return true;
379
- }
380
-
381
- #WorkerCommand = async (workerEx: IWorkerEx, command: any, options?: IRunnerOptions): Promise<boolean> => {
382
- try {
383
- if (workerEx.state !== IWorkerState.stopped) {
384
- console.log(`Stop Worker: [${workerEx.id}]`);
385
- const promArray: Promise<boolean>[] = [ ];
386
-
387
- // Terminate only those that are currently running...
388
- const ids: string[] = Object.keys(workerEx.runnersEx);
389
-
390
- ids.forEach((id) => {
391
- const runnerEx: IRunnerEx = workerEx.runnersEx[id];
392
- if (options) {
393
- promArray.push(command(workerEx, runnerEx, options));
394
- } else {
395
- promArray.push(command(workerEx, runnerEx));
396
- }
397
- });
398
- await Promise.all(promArray);
399
- }
400
- return true;
401
- } catch (error) {
402
- console.log(`Error in STSTestWorker:WorkerCommand: [${error}]`);
403
- return false;
404
- }
405
- }
406
-
407
- #PauseWorker = async (workerEx: IWorkerEx): Promise<boolean> => {
408
- return this.#WorkerCommand(workerEx, this.#PauseRunner);
409
- }
410
-
411
- #ResumeWorker = async (workerEx: IWorkerEx): Promise<boolean> => {
412
- return this.#WorkerCommand(workerEx, this.#ResumeRunner);
413
- }
414
-
415
- #StopWorker = async (workerEx: IWorkerEx): Promise<boolean> => {
416
- return this.#WorkerCommand(workerEx, this.#StopRunner);
417
- }
418
-
419
- #StartWorker = async (workerEx: IWorkerEx): Promise<boolean> => {
420
- return this.#WorkerCommand(workerEx, this.#StartRunner);
421
- }
422
-
423
- #ResetWorker = async (workerEx: IWorkerEx): Promise<boolean> => {
424
- return this.#WorkerCommand(workerEx, this.#ResetRunner);
425
- }
426
-
427
- #ExecuteWorker = async (workerEx: IWorkerEx): Promise<boolean> => {
428
- return this.#WorkerCommand(workerEx, this.#ExecuteRunner);
429
- }
430
-
431
- #UpdateOptionsWorker = async (workerEx: IWorkerEx, options: IRunnerOptions): Promise<boolean> => {
432
- return this.#WorkerCommand(workerEx, this.#UpdateOptions, options);
433
- }
434
-
435
- #TerminateWorker = async (workerEx: IWorkerEx): Promise<boolean> => {
436
- try {
437
- if (workerEx.state !== IWorkerState.stopped) {
438
- await this.#WorkerCommand(workerEx, this.#TerminateRunner);
439
-
440
- if (workerEx.worker) {
441
- //const store = TelemetryStore();
442
- workerEx.worker.terminate();
443
- this.#debug(`Terminated worker: [${workerEx.id}]`);
444
- //store.RemoveWorker(workerEx);
445
- delete this.#workersEx[workerEx.id];
446
- } else {
447
- // Some other runner has already removed the parent worker, do nothing
448
- // console.log(`WORKER ALREADY NULL`);
449
- }
450
- }
451
- return true;
452
- } catch (error) {
453
- console.log(`Error in STSTestWorker:TerminateWorker: [${error}]`);
454
- return false;
455
- }
456
- }
457
-
458
- #UpdateOptions = async (workerEx: IWorkerEx, runnerEx: IRunnerEx, options: IRunnerOptions): Promise<boolean> => {
459
- runnerEx.options = { ...options };
460
- this.#PostMessageToWorker(workerEx, eIWMessageCommands.UpdateOptions, {
461
- runner: this.#CreateRunnerCopy(runnerEx)
462
- } as ITestRunnerTelemetryPayload);
463
- return true;
464
- }
465
-
466
- GetNextAvailableWorker = (): IWorkerEx | null => {
467
- // Calculate the worker with the least runners
468
- let leastRunnerWorker: IWorkerEx | null = null;
469
- for (const [, stsWorker] of Object.entries(this.WorkersEx)) {
470
- if (leastRunnerWorker) {
471
- if (Object.keys(stsWorker.runnersEx).length < Object.keys(leastRunnerWorker.runnersEx).length) {
472
- leastRunnerWorker = stsWorker;
473
- }
474
- } else {
475
- leastRunnerWorker = stsWorker;
476
- }
477
- }
478
- return leastRunnerWorker;
479
- }
480
-
481
- GetBusyWorker = (): IWorkerEx | null => {
482
- // Calculate the worker with the least runners
483
- let busyWorker: IWorkerEx | null = null;
484
- for (const [, stsWorker] of Object.entries(this.WorkersEx)) {
485
- if (busyWorker) {
486
- if (Object.keys(stsWorker.runnersEx).length > Object.keys(busyWorker.runnersEx).length) {
487
- busyWorker = stsWorker;
488
- }
489
- } else {
490
- busyWorker = stsWorker;
491
- }
492
- }
493
- return busyWorker;
494
- }
495
-
496
- get Options(): IWorkerManagerOptions {
497
- return this.#options;
498
- }
499
-
500
- set Options(options: IWorkerManagerOptions) {
501
- this.#options = options;
502
- }
503
-
504
- StopAllWorkers = async () => {
505
- const promArray = [ ];
506
- for (const [, stsWorker] of Object.entries(this.WorkersEx)) {
507
- promArray.push(stsWorker.Stop());
508
- }
509
- await Promise.all(promArray);
510
- }
511
- }
@@ -1,34 +0,0 @@
1
- /* eslint @typescript-eslint/no-unused-vars: 0, @typescript-eslint/no-explicit-any: 0 */ // --> OFF
2
- import { IRunnerInstance, ITestRunnerTelemetryPayload } from './commonTypes'
3
- import { WorkerInstance } from './workerInstance'
4
- import { TestCase01 } from './testCase01'
5
-
6
- import isNode from 'detect-node'
7
-
8
- import { parentPort } from 'worker_threads';
9
-
10
- export class WorkerTestCases extends WorkerInstance {
11
- constructor() {
12
- super()
13
- }
14
-
15
- override CreateAsyncRunner = (testRunnerTelemetryPayload: ITestRunnerTelemetryPayload): IRunnerInstance | null => {
16
- const { runner } = testRunnerTelemetryPayload;
17
- switch (runner.options.testType) {
18
- case 'TestCase01' :
19
- return new TestCase01(this, runner)
20
- }
21
- return null;
22
- }
23
- }
24
-
25
- const worker = new WorkerTestCases();
26
-
27
- parentPort?.on('message', (data: any) => {
28
- if (isNode) {
29
- worker.ProcessMessage(data);
30
- } else {
31
- // const payloadMessage: IIWMessagePayload = data.data as IIWMessagePayload; // browser version
32
- worker.ProcessMessage(data.data); // browser version
33
- }
34
- });
@@ -1,14 +0,0 @@
1
- /* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
2
- import { ServiceConfigOptions } from './appConfig'
3
- import { MasterProcessBase } from './..'
4
- import { WorkerProcess } from './appWorkerWSS'
5
-
6
- import cluster from 'node:cluster';
7
-
8
-
9
- if (cluster.isPrimary) {
10
- new MasterProcessBase(ServiceConfigOptions(true, cluster.isPrimary)).SetupServer();
11
- } else {
12
- const worker = new WorkerProcess(ServiceConfigOptions(true, cluster.isPrimary));
13
- worker.SetupServer();
14
- }
@@ -1,110 +0,0 @@
1
- import { v4 as uuidv4 } from 'uuid';
2
- import express from 'express';
3
-
4
- import { goptions } from '@nsshunt/stsconfig'
5
-
6
- import { ProcessOptions, IProcessBase, STSServerType } from './..'
7
-
8
- import { STSExpressRouteFactory } from './server'
9
-
10
- import winston from 'winston'
11
-
12
- /*
13
- // nid: `${goptions.rest01servicename} @ ${goptions.rest01serviceversion} | ${this.options.globalServiceData.serviceInstanceId} @ ${os.hostname()} ^ ${process.pid} @ ${(cluster.isMaster ? process.pid : process.ppid)}`,
14
- // <serviceId> <serviceInstanceId> <serviceInstanceProcessId>
15
- // <serviceName> <serviceVersion> <sid> <hostName> <pid> <ppid>
16
- // << ............... Static Nid ............... >> << ............... Dynamic Nid ............... >>
17
- // Note: The final nid will NOT contain the NID_SEPERATOR character. This will be replaced with the SEPERATOR character.
18
- const Context = (isMaster, serviceInstanceId) => {
19
- return {
20
- nid: `\
21
- ${goptions.rest01servicename}${ModelDelimeter.COMPONENT_SEPERATOR}${goptions.rest01serviceversion}\
22
- ${ModelDelimeter.SEPERATOR}\
23
- ${serviceInstanceId}${ModelDelimeter.COMPONENT_SEPERATOR}${os.hostname()}\
24
- ${ModelDelimeter.NID_SEPERATOR}\
25
- ${process.pid}${ModelDelimeter.COMPONENT_SEPERATOR}${(isMaster ? process.pid : process.ppid)}`
26
- }
27
- }
28
- */
29
-
30
- export function ServiceConfigOptions(clusterMode: boolean, isMaster: boolean): ProcessOptions {
31
- winston.format.combine(
32
- winston.format.colorize(),
33
- winston.format.simple()
34
- );
35
-
36
- const logger = winston.createLogger({
37
- level: 'debug',
38
- format: winston.format.combine(
39
- winston.format.colorize(),
40
- winston.format.simple()
41
- ),
42
- transports: [
43
- new winston.transports.Console()
44
- ]
45
- });
46
-
47
- const publisherLogger = winston.createLogger({
48
- level: 'info',
49
- format: winston.format.combine(
50
- winston.format.colorize(),
51
- winston.format.simple()
52
- ),
53
- transports: [
54
- new winston.transports.Console()
55
- ]
56
- });
57
-
58
- if (isMaster === true) {
59
- const serviceInstanceId = uuidv4();
60
- const data: ProcessOptions = {
61
- serverType: STSServerType.EXPRESS_TLS,
62
- clusterMode: clusterMode,
63
- wssServer: true,
64
- useLatency: true,
65
- httpsServerKeyPath: goptions.httpsserverkeypath,
66
- httpsServerCertificatePath: goptions.httpsservercertpath,
67
- processExitOnTerminate: true,
68
- serviceInstanceId: serviceInstanceId,
69
- useDatabase: false,
70
-
71
- isMaster: isMaster,
72
- endpoint: goptions.rest01endpoint,
73
- apiRoot: goptions.rest01apiroot,
74
- listenPort: goptions.rest01hostport,
75
- port: goptions.rest01port,
76
- prometheusSupport: goptions.rest01prometheussupport,
77
- prometheusClusterPort: goptions.rest01prometheusclusterport,
78
- serviceName: goptions.rest01servicename,
79
- serviceVersion: goptions.rest01serviceversion,
80
- consoleLogging: true,
81
- instrumentLogging: true,
82
-
83
- instrumentationObservationInterval: goptions.instrumentationObservationInterval,
84
- instrumentationTimeWindow: goptions.instrumentationTimeWindow,
85
-
86
- useSocketIoRedisAdaptor: false,
87
- //workerExec: './dist/testing/app.js',
88
-
89
- logger: logger,
90
- publisherLogger: publisherLogger,
91
- publishInterval: goptions.publishinterval
92
- }
93
-
94
- if (!clusterMode) {
95
- data.expressServerRouteFactory = (app: express.Express, stsApp: IProcessBase) => {
96
- return new STSExpressRouteFactory(app, stsApp);
97
- }
98
- }
99
-
100
- return data;
101
- } else {
102
- const data: ProcessOptions = JSON.parse(process.env['STS_GSD_SII'] as string) as ProcessOptions;
103
- data.expressServerRouteFactory = (app: express.Express, stsApp: IProcessBase) => {
104
- return new STSExpressRouteFactory(app, stsApp);
105
- }
106
- data.logger = logger;
107
- data.publisherLogger = publisherLogger;
108
- return data;
109
- }
110
- }