javonet-nodejs-sdk 2.5.0 → 2.5.2

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 (311) hide show
  1. package/.prettierrc +12 -0
  2. package/Binaries/Clr/Javonet.Clr.Utils.dll +0 -0
  3. package/Binaries/Clr/JavonetClrRuntime.dll +0 -0
  4. package/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
  5. package/Binaries/Native/Linux/ARM64/dynamicCompilationHeaders/Linux/jni.h +1960 -0
  6. package/Binaries/Native/Linux/ARM64/dynamicCompilationHeaders/Linux/jni_md.h +51 -0
  7. package/Binaries/Native/Linux/ARM64/dynamicCompilationHeaders/MacOs/jni.h +1960 -0
  8. package/Binaries/Native/Linux/ARM64/dynamicCompilationHeaders/MacOs/jni_md.h +51 -0
  9. package/Binaries/Native/Linux/ARM64/dynamicCompilationHeaders/Windows/jni.h +1960 -0
  10. package/Binaries/Native/Linux/ARM64/dynamicCompilationHeaders/Windows/jni_md.h +37 -0
  11. package/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
  12. package/Binaries/Native/Linux/ARM64/libJavonetCppRuntimeNative.so +0 -0
  13. package/Binaries/Native/Linux/ARM64/libJavonetGoRuntimeNative.so +0 -0
  14. package/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
  15. package/Binaries/Native/Linux/ARM64/libJavonetNetcoreRuntimeNative.so +0 -0
  16. package/Binaries/Native/Linux/ARM64/libJavonetPythonRuntimeNative.so +0 -0
  17. package/Binaries/Native/Linux/ARM64/libJavonetRuby278RuntimeNative.so +0 -0
  18. package/Binaries/Native/Linux/ARM64/libJavonetRubyRuntimeNative.so +0 -0
  19. package/Binaries/Native/Linux/ARM64/libJavonetTcpClient.so +0 -0
  20. package/Binaries/Native/Linux/ARM64/libJavonetTcpTlsClient.so +0 -0
  21. package/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
  22. package/Binaries/Native/Linux/ARM64/version.txt +1 -1
  23. package/Binaries/Native/Linux/X64/NativeUtilsUnitTests.xml +18 -18
  24. package/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  25. package/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  26. package/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  27. package/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  28. package/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  29. package/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
  30. package/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  31. package/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  32. package/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  33. package/Binaries/Native/Linux/X64/libJavonetRuby278RuntimeNative.so +0 -0
  34. package/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  35. package/Binaries/Native/Linux/X64/libJavonetTcpClient.so +0 -0
  36. package/Binaries/Native/Linux/X64/libJavonetTcpTlsClient.so +0 -0
  37. package/Binaries/Native/Linux/X64/libUtils.so +0 -0
  38. package/Binaries/Native/Linux/X64/libnethost.so +0 -0
  39. package/Binaries/Native/Linux/X64/openssl3/libJavonetActivationService.so +0 -0
  40. package/Binaries/Native/Linux/X64/openssl3/libJavonetTcpTlsClient.so +0 -0
  41. package/Binaries/Native/Linux/X64/openssl3/libUtils.so +0 -0
  42. package/Binaries/Native/Linux/X64/version.txt +1 -1
  43. package/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
  44. package/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  45. package/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  46. package/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  47. package/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  48. package/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
  49. package/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  50. package/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  51. package/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  52. package/Binaries/Native/MacOs/X64/libJavonetRuby278RuntimeNative.dylib +0 -0
  53. package/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  54. package/Binaries/Native/MacOs/X64/libJavonetTcpClient.dylib +0 -0
  55. package/Binaries/Native/MacOs/X64/libJavonetTcpTlsClient.dylib +0 -0
  56. package/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  57. package/Binaries/Native/MacOs/X64/libnethost.dylib +0 -0
  58. package/Binaries/Native/MacOs/X64/version.txt +1 -1
  59. package/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
  60. package/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
  61. package/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
  62. package/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
  63. package/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
  64. package/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
  65. package/Binaries/Native/Windows/ARM64/JavonetRuby278RuntimeNative.dll +0 -0
  66. package/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
  67. package/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
  68. package/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
  69. package/Binaries/Native/Windows/ARM64/NetVersion31LatestPatch.runtimeconfig.json +10 -0
  70. package/Binaries/Native/Windows/ARM64/NetVersion60LatestPatch.runtimeconfig.json +10 -0
  71. package/Binaries/Native/Windows/ARM64/NetVersion70LatestPatch.runtimeconfig.json +10 -0
  72. package/Binaries/Native/Windows/ARM64/NetVersion80LatestPatch.runtimeconfig.json +10 -0
  73. package/Binaries/Native/Windows/ARM64/NetVersionLatest.runtimeconfig.json +10 -0
  74. package/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
  75. package/Binaries/Native/Windows/ARM64/dynamicCompilationHeaders/Linux/jni.h +1960 -0
  76. package/Binaries/Native/Windows/ARM64/dynamicCompilationHeaders/Linux/jni_md.h +51 -0
  77. package/Binaries/Native/Windows/ARM64/dynamicCompilationHeaders/MacOs/jni.h +1960 -0
  78. package/Binaries/Native/Windows/ARM64/dynamicCompilationHeaders/MacOs/jni_md.h +51 -0
  79. package/Binaries/Native/Windows/ARM64/dynamicCompilationHeaders/Windows/jni.h +1960 -0
  80. package/Binaries/Native/Windows/ARM64/dynamicCompilationHeaders/Windows/jni_md.h +37 -0
  81. package/Binaries/Native/Windows/ARM64/libcrypto-3-arm64.dll +0 -0
  82. package/Binaries/Native/Windows/ARM64/libssl-3-arm64.dll +0 -0
  83. package/Binaries/Native/Windows/ARM64/libxml2.dll +0 -0
  84. package/Binaries/Native/Windows/ARM64/libxmlsec-openssl.dll +0 -0
  85. package/Binaries/Native/Windows/ARM64/libxmlsec.dll +0 -0
  86. package/Binaries/Native/Windows/ARM64/libxslt.dll +0 -0
  87. package/Binaries/Native/Windows/ARM64/nethost.dll +0 -0
  88. package/Binaries/Native/Windows/ARM64/python312.dll +0 -0
  89. package/Binaries/Native/Windows/ARM64/version.txt +0 -0
  90. package/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  91. package/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  92. package/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  93. package/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  94. package/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  95. package/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  96. package/Binaries/Native/Windows/X64/JavonetNodejs1816RuntimeNative.dll +0 -0
  97. package/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  98. package/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  99. package/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  100. package/Binaries/Native/Windows/X64/JavonetRuby278RuntimeNative.dll +0 -0
  101. package/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  102. package/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
  103. package/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
  104. package/Binaries/Native/Windows/X64/Utils.dll +0 -0
  105. package/Binaries/Native/Windows/X64/version.txt +1 -1
  106. package/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
  107. package/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
  108. package/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
  109. package/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
  110. package/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
  111. package/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
  112. package/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
  113. package/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
  114. package/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
  115. package/Binaries/Native/Windows/X86/Utils.dll +0 -0
  116. package/Binaries/Native/Windows/X86/version.txt +1 -1
  117. package/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
  118. package/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
  119. package/Binaries/Nodejs/core/interpreter/Interpreter.js +43 -24
  120. package/Binaries/Nodejs/core/protocol/CommandSerializer.js +7 -31
  121. package/Binaries/Nodejs/core/receiver/Receiver.js +6 -1
  122. package/Binaries/Nodejs/core/transmitter/Transmitter.js +2 -14
  123. package/Binaries/Nodejs/core/webSocketClient/WebSocketClient.js +133 -0
  124. package/Binaries/Nodejs/utils/ConnectionType.js +2 -1
  125. package/Binaries/Nodejs/utils/connectionData/IConnectionData.js +17 -0
  126. package/Binaries/Nodejs/utils/connectionData/InMemoryConnectionData.js +28 -0
  127. package/Binaries/Nodejs/utils/{TcpConnectionData.js → connectionData/TcpConnectionData.js} +26 -6
  128. package/Binaries/Nodejs/utils/connectionData/WsConnectionData.js +33 -0
  129. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Attribute-Util-1.07/install.json +1 -1
  130. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Capture-Tiny-0.48/install.json +1 -1
  131. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Class-Load-0.25/install.json +1 -1
  132. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Class-Load-XS-0.10/install.json +1 -1
  133. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Clone-0.47/install.json +1 -1
  134. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-Cmp-0.010/install.json +1 -1
  135. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-OptList-0.114/install.json +1 -1
  136. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-UUID-1.227/install.json +1 -1
  137. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-GlobalDestruction-0.14/install.json +1 -1
  138. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-OverloadInfo-0.007/install.json +1 -1
  139. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-StackTrace-2.05/install.json +1 -1
  140. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Dist-CheckConflicts-0.11/install.json +1 -1
  141. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Eval-Closure-0.14/install.json +1 -1
  142. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Config-0.010/install.json +1 -1
  143. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Helpers-0.028/install.json +1 -1
  144. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-InstallPaths-0.014/install.json +1 -1
  145. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-CheckLib-0.31/install.json +1 -1
  146. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-Platypus-2.09/install.json +1 -1
  147. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/File-Which-1.27/install.json +1 -1
  148. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/IPC-System-Simple-1.30/install.json +1 -1
  149. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/MRO-Compat-0.15/install.json +1 -1
  150. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-0.4234/install.json +1 -1
  151. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-Tiny-0.051/install.json +1 -1
  152. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Implementation-0.09/install.json +1 -1
  153. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Runtime-0.016/install.json +1 -1
  154. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Runtime-Conflicts-0.003/install.json +1 -1
  155. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Moose-2.2207/install.json +1 -1
  156. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Nice-Try-v1.3.13/install.json +1 -1
  157. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-1.279/install.json +1 -1
  158. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-XS-0.910/install.json +1 -1
  159. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-DeprecationManager-0.18/install.json +1 -1
  160. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-Stash-0.40/install.json +1 -1
  161. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-Stash-XS-0.30/install.json +1 -1
  162. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Params-Util-1.102/install.json +1 -1
  163. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Path-Tiny-0.146/install.json +1 -1
  164. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/{Scalar-List-Utils-1.66 → Scalar-List-Utils-1.68}/MYMETA.json +1 -1
  165. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-List-Utils-1.68/install.json +1 -0
  166. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-Util-Numeric-0.40/install.json +1 -1
  167. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scope-Guard-0.21/install.json +1 -1
  168. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Exporter-0.991/install.json +1 -1
  169. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Exporter-Progressive-0.001013/install.json +1 -1
  170. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Install-0.929/install.json +1 -1
  171. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Task-Weaken-1.06/install.json +1 -1
  172. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Test-Fatal-0.017/install.json +1 -1
  173. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Try-Tiny-0.32/install.json +1 -1
  174. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Want-0.29/install.json +1 -1
  175. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/aliased-0.34/install.json +1 -1
  176. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/autobox-v3.0.2/install.json +1 -1
  177. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/List/Util/XS.pm +1 -1
  178. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/List/Util.pm +1 -1
  179. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Scalar/List/Utils.pm +43 -0
  180. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Scalar/Util.pm +1 -1
  181. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Sub/Util.pm +1 -1
  182. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
  183. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
  184. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
  185. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/.packlist +2 -0
  186. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
  187. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  188. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
  189. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
  190. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
  191. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  192. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/lib/libplfill.so +0 -0
  193. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/probe/bin/dlrun +0 -0
  194. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +89 -89
  195. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +12 -1
  196. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Attribute-Util-1.07/install.json +1 -1
  197. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Data-Cmp-0.010/install.json +1 -1
  198. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Data-UUID-1.227/install.json +1 -1
  199. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Nice-Try-v1.3.13/install.json +1 -1
  200. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-1.279/install.json +1 -1
  201. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-XS-0.910/install.json +1 -1
  202. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Scalar-Util-Numeric-0.40/install.json +1 -1
  203. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Test-Fatal-0.017/install.json +1 -1
  204. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Want-0.29/install.json +1 -1
  205. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/autobox-v3.0.2/install.json +1 -1
  206. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  207. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  208. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
  209. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  210. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  211. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +19 -19
  212. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +12 -1
  213. package/Binaries/Python/javonet/core/__pycache__/__init__.cpython-312.pyc +0 -0
  214. package/Binaries/Python/javonet/core/generator/__pycache__/__init__.cpython-312.pyc +0 -0
  215. package/Binaries/Python/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-312.pyc +0 -0
  216. package/Binaries/Python/javonet/core/generator/internal/__pycache__/__init__.cpython-312.pyc +0 -0
  217. package/Binaries/Python/javonet/core/handler/CreateClassInstanceHandler.py +1 -7
  218. package/Binaries/Python/javonet/core/handler/GetTypeHandler.py +4 -3
  219. package/Binaries/Python/javonet/core/handler/__pycache__/AbstractCommandHandler.cpython-312.pyc +0 -0
  220. package/Binaries/Python/javonet/core/handler/__pycache__/AbstractHandler.cpython-312.pyc +0 -0
  221. package/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetItemHandler.cpython-312.pyc +0 -0
  222. package/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetRankHandler.cpython-312.pyc +0 -0
  223. package/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetSizeHandler.cpython-312.pyc +0 -0
  224. package/Binaries/Python/javonet/core/handler/__pycache__/ArrayHandler.cpython-312.pyc +0 -0
  225. package/Binaries/Python/javonet/core/handler/__pycache__/ArraySetItemHandler.cpython-312.pyc +0 -0
  226. package/Binaries/Python/javonet/core/handler/__pycache__/CastingHandler.cpython-312.pyc +0 -0
  227. package/Binaries/Python/javonet/core/handler/__pycache__/CreateClassInstanceHandler.cpython-312.pyc +0 -0
  228. package/Binaries/Python/javonet/core/handler/__pycache__/DestructReferenceHandler.cpython-312.pyc +0 -0
  229. package/Binaries/Python/javonet/core/handler/__pycache__/EnableNamespaceHandler.cpython-312.pyc +0 -0
  230. package/Binaries/Python/javonet/core/handler/__pycache__/EnableTypeHandler.cpython-312.pyc +0 -0
  231. package/Binaries/Python/javonet/core/handler/__pycache__/GetEnumItemHandler.cpython-312.pyc +0 -0
  232. package/Binaries/Python/javonet/core/handler/__pycache__/GetEnumNameHandler.cpython-312.pyc +0 -0
  233. package/Binaries/Python/javonet/core/handler/__pycache__/GetEnumValueHandler.cpython-312.pyc +0 -0
  234. package/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceFieldHandler.cpython-312.pyc +0 -0
  235. package/Binaries/Python/javonet/core/handler/__pycache__/GetStaticFieldHandler.cpython-312.pyc +0 -0
  236. package/Binaries/Python/javonet/core/handler/__pycache__/GetTypeHandler.cpython-312.pyc +0 -0
  237. package/Binaries/Python/javonet/core/handler/__pycache__/Handler.cpython-312.pyc +0 -0
  238. package/Binaries/Python/javonet/core/handler/__pycache__/HandlerDictionary.cpython-312.pyc +0 -0
  239. package/Binaries/Python/javonet/core/handler/__pycache__/InvokeInstanceMethodHandler.cpython-312.pyc +0 -0
  240. package/Binaries/Python/javonet/core/handler/__pycache__/InvokeStaticMethodHandler.cpython-312.pyc +0 -0
  241. package/Binaries/Python/javonet/core/handler/__pycache__/LoadLibraryHandler.cpython-312.pyc +0 -0
  242. package/Binaries/Python/javonet/core/handler/__pycache__/ResolveInstanceHandler.cpython-312.pyc +0 -0
  243. package/Binaries/Python/javonet/core/handler/__pycache__/SetInstanceFieldHandler.cpython-312.pyc +0 -0
  244. package/Binaries/Python/javonet/core/handler/__pycache__/SetStaticFieldHandler.cpython-312.pyc +0 -0
  245. package/Binaries/Python/javonet/core/handler/__pycache__/ValueHandler.cpython-312.pyc +0 -0
  246. package/Binaries/Python/javonet/core/handler/__pycache__/__init__.cpython-312.pyc +0 -0
  247. package/Binaries/Python/javonet/core/interpreter/Interpreter.py +13 -17
  248. package/Binaries/Python/javonet/core/interpreter/__pycache__/Interpreter.cpython-312.pyc +0 -0
  249. package/Binaries/Python/javonet/core/interpreter/__pycache__/__init__.cpython-312.pyc +0 -0
  250. package/Binaries/Python/javonet/core/namespaceCache/__pycache__/NamespaceCache.cpython-312.pyc +0 -0
  251. package/Binaries/Python/javonet/core/namespaceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  252. package/Binaries/Python/javonet/core/protocol/CommandDeserializer.py +9 -9
  253. package/Binaries/Python/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-312.pyc +0 -0
  254. package/Binaries/Python/javonet/core/protocol/__pycache__/CommandSerializer.cpython-312.pyc +0 -0
  255. package/Binaries/Python/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-312.pyc +0 -0
  256. package/Binaries/Python/javonet/core/protocol/__pycache__/TypeSerializer.cpython-312.pyc +0 -0
  257. package/Binaries/Python/javonet/core/protocol/__pycache__/__init__.cpython-312.pyc +0 -0
  258. package/Binaries/Python/javonet/core/receiver/Receiver.py +6 -6
  259. package/Binaries/Python/javonet/core/receiver/__pycache__/Receiver.cpython-312.pyc +0 -0
  260. package/Binaries/Python/javonet/core/receiver/__pycache__/__init__.cpython-312.pyc +0 -0
  261. package/Binaries/Python/javonet/core/referenceCache/__pycache__/ReferencesCache.cpython-312.pyc +0 -0
  262. package/Binaries/Python/javonet/core/referenceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  263. package/Binaries/Python/javonet/core/transmitter/TransmitterWrapper.py +7 -1
  264. package/Binaries/Python/javonet/core/typeCache/__pycache__/TypeCache.cpython-312.pyc +0 -0
  265. package/Binaries/Python/javonet/core/typeCache/__pycache__/__init__.cpython-312.pyc +0 -0
  266. package/Binaries/Python/javonet/core/webSocketClient/WebSocketClient.py +0 -1
  267. package/Binaries/Python/javonet/utils/__pycache__/Command.cpython-312.pyc +0 -0
  268. package/Binaries/Python/javonet/utils/__pycache__/CommandType.cpython-312.pyc +0 -0
  269. package/Binaries/Python/javonet/utils/__pycache__/ConnectionType.cpython-312.pyc +0 -0
  270. package/Binaries/Python/javonet/utils/__pycache__/ExceptionType.cpython-312.pyc +0 -0
  271. package/Binaries/Python/javonet/utils/__pycache__/RuntimeName.cpython-312.pyc +0 -0
  272. package/Binaries/Python/javonet/utils/__pycache__/StringEncodingMode.cpython-312.pyc +0 -0
  273. package/Binaries/Python/javonet/utils/__pycache__/Type.cpython-312.pyc +0 -0
  274. package/Binaries/Python/javonet/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  275. package/Binaries/Python/javonet/utils/connectionData/__pycache__/IConnectionData.cpython-312.pyc +0 -0
  276. package/Binaries/Python/javonet/utils/connectionData/__pycache__/InMemoryConnectionData.cpython-312.pyc +0 -0
  277. package/Binaries/Python/javonet/utils/connectionData/__pycache__/__init__.cpython-312.pyc +0 -0
  278. package/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-312.pyc +0 -0
  279. package/Binaries/Python/javonet/utils/exception/__pycache__/__init__.cpython-312.pyc +0 -0
  280. package/Binaries/Ruby/Linux/X64/core/interpreter/interpreter.rb +6 -10
  281. package/Binaries/Ruby/Linux/X64/core/protocol/command_deserializer.rb +2 -2
  282. package/Binaries/Ruby/Linux/X64/core/transmitter/transmitter.rb +4 -16
  283. package/Binaries/Ruby/Linux/X64/core/transmitter/transmitter_wrapper.rb +12 -1
  284. package/Binaries/Ruby/MacOs/X64/core/interpreter/interpreter.rb +6 -10
  285. package/Binaries/Ruby/MacOs/X64/core/protocol/command_deserializer.rb +2 -2
  286. package/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter.rb +4 -16
  287. package/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter_wrapper.rb +12 -1
  288. package/Binaries/Ruby/Windows/X64/core/interpreter/interpreter.rb +6 -10
  289. package/Binaries/Ruby/Windows/X64/core/protocol/command_deserializer.rb +2 -2
  290. package/Binaries/Ruby/Windows/X64/core/transmitter/transmitter.rb +4 -16
  291. package/Binaries/Ruby/Windows/X64/core/transmitter/transmitter_wrapper.rb +12 -1
  292. package/Binaries/version.txt +1 -1
  293. package/addon/JavonetNodejsRuntimeAddon.cpp +27 -7
  294. package/lib/core/interpreter/Interpreter.js +43 -24
  295. package/lib/core/protocol/CommandSerializer.js +7 -31
  296. package/lib/core/receiver/Receiver.js +6 -1
  297. package/lib/core/transmitter/Transmitter.js +2 -14
  298. package/lib/core/webSocketClient/WebSocketClient.js +133 -0
  299. package/lib/sdk/ConfigRuntimeFactory.js +16 -8
  300. package/lib/sdk/InvocationContext.js +104 -115
  301. package/lib/sdk/Javonet.js +20 -7
  302. package/lib/sdk/RuntimeContext.js +220 -215
  303. package/lib/sdk/RuntimeFactory.js +9 -10
  304. package/lib/sdk/tools/SdkExceptionHelper.js +1 -1
  305. package/lib/utils/ConnectionType.js +2 -1
  306. package/lib/utils/connectionData/IConnectionData.js +17 -0
  307. package/lib/utils/connectionData/InMemoryConnectionData.js +28 -0
  308. package/lib/utils/{TcpConnectionData.js → connectionData/TcpConnectionData.js} +26 -6
  309. package/lib/utils/connectionData/WsConnectionData.js +33 -0
  310. package/package.json +6 -3
  311. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-List-Utils-1.66/install.json +0 -1
@@ -10,7 +10,13 @@ callbackFunction = CMPFUNC(callbackFunc)
10
10
 
11
11
  class TransmitterWrapper:
12
12
  file_path = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
13
- arch = 'X64' if platform.machine().endswith('64') else 'X86'
13
+ machine = platform.machine().lower()
14
+ if '64' in machine:
15
+ arch = 'X64'
16
+ elif 'arm' in machine:
17
+ arch = 'ARM64' if '64' in machine else 'ARM'
18
+ else:
19
+ arch = 'X86'
14
20
 
15
21
  if platform.system() == 'Windows':
16
22
  python_lib_path = file_path + f'/Binaries/Native/Windows/{arch}/JavonetPythonRuntimeNative.dll'
@@ -1,4 +1,3 @@
1
- import asyncio
2
1
  import struct
3
2
  from websockets.sync.client import connect
4
3
 
@@ -3,10 +3,10 @@ require_relative '../protocol/command_deserializer'
3
3
  require_relative '../handler/handler'
4
4
 
5
5
  class Interpreter
6
- def execute(command, connection_type, tcp_connection_data)
6
+ @@handler = Handler.new
7
7
 
8
- command_serializer = CommandSerializer.new
9
- message_byte_array = command_serializer.serialize(command, connection_type, tcp_connection_data)
8
+ def execute(command, connection_type, tcp_connection_data)
9
+ message_byte_array = CommandSerializer.new.serialize(command, connection_type, tcp_connection_data)
10
10
  if command.runtime_name == RuntimeName::RUBY && connection_type == ConnectionType::IN_MEMORY
11
11
  require_relative '../receiver/receiver'
12
12
  response_byte_array = Receiver.new.send_command(message_byte_array, message_byte_array.length)
@@ -15,15 +15,11 @@ class Interpreter
15
15
  response_byte_array = Transmitter.send_command(message_byte_array, message_byte_array.length)
16
16
  end
17
17
 
18
- command_deserializer = CommandDeserializer.new(response_byte_array,response_byte_array.length)
19
- command_deserializer.deserialize
18
+ CommandDeserializer.new(response_byte_array).deserialize
20
19
  end
21
20
 
22
21
  def process(byte_array, byte_array_len)
23
- command_deserializer = CommandDeserializer.new(byte_array,byte_array_len)
24
- received_command = command_deserializer.deserialize
25
- handler = Handler.new
26
- command_serializer = CommandSerializer.new
27
- command_serializer.serialize(handler.handle_command(received_command))
22
+ received_command = CommandDeserializer.new(byte_array).deserialize
23
+ CommandSerializer.new.serialize(@@handler.handle_command(received_command))
28
24
  end
29
25
  end
@@ -5,9 +5,9 @@ require_relative '../../utils/string_encoding_mode'
5
5
 
6
6
  class CommandDeserializer
7
7
 
8
- def initialize(buffer, byte_array_len)
8
+ def initialize(buffer)
9
9
  @buffer = buffer
10
- @byte_array_len = byte_array_len
10
+ @byte_array_len = buffer.length
11
11
  @command = Command.new(buffer[0], buffer[10], [])
12
12
  @position = 11
13
13
  end
@@ -22,20 +22,8 @@ class Transmitter
22
22
  end
23
23
  end
24
24
 
25
- def self.activate_with_license_file()
26
- return activate()
27
- end
28
-
29
- def self.activate_with_credentials(licenseKey)
30
- return activate(licenseKey)
31
- end
32
-
33
- def self.activate_with_credentials_and_proxy(licenseKey, proxyHost, proxyUserName, proxyPassword)
34
- return activate(licenseKey, proxyHost, proxyUserName, proxyPassword)
35
- end
36
-
37
- private_class_method def self.activate(licenseKey = "", proxyHost = "", proxyUserName = "", proxyUserPassword = "")
38
- activation_result = TransmitterWrapper.Activate(licenseKey, proxyHost, proxyUserName, proxyUserPassword)
25
+ def self.activate(license_key)
26
+ activation_result = TransmitterWrapper.Activate(license_key, "", "", "")
39
27
  if activation_result < 0
40
28
  error_message = get_native_error
41
29
  raise Exception.new "Javonet activation result: " + activation_result.to_s + ". Native error message: " + error_message
@@ -48,8 +36,8 @@ class Transmitter
48
36
  TransmitterWrapper.GetNativeError
49
37
  end
50
38
 
51
- def self.set_config_source(configPath)
52
- set_config_result = TransmitterWrapper.SetConfigSource(configPath)
39
+ def self.set_config_source(config_path)
40
+ set_config_result = TransmitterWrapper.SetConfigSource(config_path)
53
41
  if set_config_result < 0
54
42
  error_message = get_native_error
55
43
  raise Exception.new "Javonet set config source result: " + set_config_result.to_s + ". Native error message: " + error_message
@@ -1,7 +1,18 @@
1
1
  module TransmitterWrapper
2
2
  extend FFI::Library
3
3
 
4
- arch = FFI::Platform::ARCH == 'x86_64' ? 'X64' : 'X86'
4
+ arch = case FFI::Platform::ARCH
5
+ when 'x86_64'
6
+ 'X64'
7
+ when 'x86'
8
+ 'X86'
9
+ when 'arm'
10
+ 'ARM'
11
+ when 'aarch64'
12
+ 'ARM64'
13
+ else
14
+ raise "Unsupported architecture: #{FFI::Platform::ARCH}"
15
+ end
5
16
 
6
17
  if OS.linux?
7
18
  ffi_lib File.expand_path("../../../Binaries/Native/Linux/#{arch}/libJavonetRubyRuntimeNative.so", __FILE__)
@@ -3,10 +3,10 @@ require_relative '../protocol/command_deserializer'
3
3
  require_relative '../handler/handler'
4
4
 
5
5
  class Interpreter
6
- def execute(command, connection_type, tcp_connection_data)
6
+ @@handler = Handler.new
7
7
 
8
- command_serializer = CommandSerializer.new
9
- message_byte_array = command_serializer.serialize(command, connection_type, tcp_connection_data)
8
+ def execute(command, connection_type, tcp_connection_data)
9
+ message_byte_array = CommandSerializer.new.serialize(command, connection_type, tcp_connection_data)
10
10
  if command.runtime_name == RuntimeName::RUBY && connection_type == ConnectionType::IN_MEMORY
11
11
  require_relative '../receiver/receiver'
12
12
  response_byte_array = Receiver.new.send_command(message_byte_array, message_byte_array.length)
@@ -15,15 +15,11 @@ class Interpreter
15
15
  response_byte_array = Transmitter.send_command(message_byte_array, message_byte_array.length)
16
16
  end
17
17
 
18
- command_deserializer = CommandDeserializer.new(response_byte_array,response_byte_array.length)
19
- command_deserializer.deserialize
18
+ CommandDeserializer.new(response_byte_array).deserialize
20
19
  end
21
20
 
22
21
  def process(byte_array, byte_array_len)
23
- command_deserializer = CommandDeserializer.new(byte_array,byte_array_len)
24
- received_command = command_deserializer.deserialize
25
- handler = Handler.new
26
- command_serializer = CommandSerializer.new
27
- command_serializer.serialize(handler.handle_command(received_command))
22
+ received_command = CommandDeserializer.new(byte_array).deserialize
23
+ CommandSerializer.new.serialize(@@handler.handle_command(received_command))
28
24
  end
29
25
  end
@@ -5,9 +5,9 @@ require_relative '../../utils/string_encoding_mode'
5
5
 
6
6
  class CommandDeserializer
7
7
 
8
- def initialize(buffer, byte_array_len)
8
+ def initialize(buffer)
9
9
  @buffer = buffer
10
- @byte_array_len = byte_array_len
10
+ @byte_array_len = buffer.length
11
11
  @command = Command.new(buffer[0], buffer[10], [])
12
12
  @position = 11
13
13
  end
@@ -22,20 +22,8 @@ class Transmitter
22
22
  end
23
23
  end
24
24
 
25
- def self.activate_with_license_file()
26
- return activate()
27
- end
28
-
29
- def self.activate_with_credentials(licenseKey)
30
- return activate(licenseKey)
31
- end
32
-
33
- def self.activate_with_credentials_and_proxy(licenseKey, proxyHost, proxyUserName, proxyPassword)
34
- return activate(licenseKey, proxyHost, proxyUserName, proxyPassword)
35
- end
36
-
37
- private_class_method def self.activate(licenseKey = "", proxyHost = "", proxyUserName = "", proxyUserPassword = "")
38
- activation_result = TransmitterWrapper.Activate(licenseKey, proxyHost, proxyUserName, proxyUserPassword)
25
+ def self.activate(license_key)
26
+ activation_result = TransmitterWrapper.Activate(license_key, "", "", "")
39
27
  if activation_result < 0
40
28
  error_message = get_native_error
41
29
  raise Exception.new "Javonet activation result: " + activation_result.to_s + ". Native error message: " + error_message
@@ -48,8 +36,8 @@ class Transmitter
48
36
  TransmitterWrapper.GetNativeError
49
37
  end
50
38
 
51
- def self.set_config_source(configPath)
52
- set_config_result = TransmitterWrapper.SetConfigSource(configPath)
39
+ def self.set_config_source(config_path)
40
+ set_config_result = TransmitterWrapper.SetConfigSource(config_path)
53
41
  if set_config_result < 0
54
42
  error_message = get_native_error
55
43
  raise Exception.new "Javonet set config source result: " + set_config_result.to_s + ". Native error message: " + error_message
@@ -1,7 +1,18 @@
1
1
  module TransmitterWrapper
2
2
  extend FFI::Library
3
3
 
4
- arch = FFI::Platform::ARCH == 'x86_64' ? 'X64' : 'X86'
4
+ arch = case FFI::Platform::ARCH
5
+ when 'x86_64'
6
+ 'X64'
7
+ when 'x86'
8
+ 'X86'
9
+ when 'arm'
10
+ 'ARM'
11
+ when 'aarch64'
12
+ 'ARM64'
13
+ else
14
+ raise "Unsupported architecture: #{FFI::Platform::ARCH}"
15
+ end
5
16
 
6
17
  if OS.linux?
7
18
  ffi_lib File.expand_path("../../../Binaries/Native/Linux/#{arch}/libJavonetRubyRuntimeNative.so", __FILE__)
@@ -3,10 +3,10 @@ require_relative '../protocol/command_deserializer'
3
3
  require_relative '../handler/handler'
4
4
 
5
5
  class Interpreter
6
- def execute(command, connection_type, tcp_connection_data)
6
+ @@handler = Handler.new
7
7
 
8
- command_serializer = CommandSerializer.new
9
- message_byte_array = command_serializer.serialize(command, connection_type, tcp_connection_data)
8
+ def execute(command, connection_type, tcp_connection_data)
9
+ message_byte_array = CommandSerializer.new.serialize(command, connection_type, tcp_connection_data)
10
10
  if command.runtime_name == RuntimeName::RUBY && connection_type == ConnectionType::IN_MEMORY
11
11
  require_relative '../receiver/receiver'
12
12
  response_byte_array = Receiver.new.send_command(message_byte_array, message_byte_array.length)
@@ -15,15 +15,11 @@ class Interpreter
15
15
  response_byte_array = Transmitter.send_command(message_byte_array, message_byte_array.length)
16
16
  end
17
17
 
18
- command_deserializer = CommandDeserializer.new(response_byte_array,response_byte_array.length)
19
- command_deserializer.deserialize
18
+ CommandDeserializer.new(response_byte_array).deserialize
20
19
  end
21
20
 
22
21
  def process(byte_array, byte_array_len)
23
- command_deserializer = CommandDeserializer.new(byte_array,byte_array_len)
24
- received_command = command_deserializer.deserialize
25
- handler = Handler.new
26
- command_serializer = CommandSerializer.new
27
- command_serializer.serialize(handler.handle_command(received_command))
22
+ received_command = CommandDeserializer.new(byte_array).deserialize
23
+ CommandSerializer.new.serialize(@@handler.handle_command(received_command))
28
24
  end
29
25
  end
@@ -5,9 +5,9 @@ require_relative '../../utils/string_encoding_mode'
5
5
 
6
6
  class CommandDeserializer
7
7
 
8
- def initialize(buffer, byte_array_len)
8
+ def initialize(buffer)
9
9
  @buffer = buffer
10
- @byte_array_len = byte_array_len
10
+ @byte_array_len = buffer.length
11
11
  @command = Command.new(buffer[0], buffer[10], [])
12
12
  @position = 11
13
13
  end
@@ -22,20 +22,8 @@ class Transmitter
22
22
  end
23
23
  end
24
24
 
25
- def self.activate_with_license_file()
26
- return activate()
27
- end
28
-
29
- def self.activate_with_credentials(licenseKey)
30
- return activate(licenseKey)
31
- end
32
-
33
- def self.activate_with_credentials_and_proxy(licenseKey, proxyHost, proxyUserName, proxyPassword)
34
- return activate(licenseKey, proxyHost, proxyUserName, proxyPassword)
35
- end
36
-
37
- private_class_method def self.activate(licenseKey = "", proxyHost = "", proxyUserName = "", proxyUserPassword = "")
38
- activation_result = TransmitterWrapper.Activate(licenseKey, proxyHost, proxyUserName, proxyUserPassword)
25
+ def self.activate(license_key)
26
+ activation_result = TransmitterWrapper.Activate(license_key, "", "", "")
39
27
  if activation_result < 0
40
28
  error_message = get_native_error
41
29
  raise Exception.new "Javonet activation result: " + activation_result.to_s + ". Native error message: " + error_message
@@ -48,8 +36,8 @@ class Transmitter
48
36
  TransmitterWrapper.GetNativeError
49
37
  end
50
38
 
51
- def self.set_config_source(configPath)
52
- set_config_result = TransmitterWrapper.SetConfigSource(configPath)
39
+ def self.set_config_source(config_path)
40
+ set_config_result = TransmitterWrapper.SetConfigSource(config_path)
53
41
  if set_config_result < 0
54
42
  error_message = get_native_error
55
43
  raise Exception.new "Javonet set config source result: " + set_config_result.to_s + ". Native error message: " + error_message
@@ -1,7 +1,18 @@
1
1
  module TransmitterWrapper
2
2
  extend FFI::Library
3
3
 
4
- arch = FFI::Platform::ARCH == 'x86_64' ? 'X64' : 'X86'
4
+ arch = case FFI::Platform::ARCH
5
+ when 'x86_64'
6
+ 'X64'
7
+ when 'x86'
8
+ 'X86'
9
+ when 'arm'
10
+ 'ARM'
11
+ when 'aarch64'
12
+ 'ARM64'
13
+ else
14
+ raise "Unsupported architecture: #{FFI::Platform::ARCH}"
15
+ end
5
16
 
6
17
  if OS.linux?
7
18
  ffi_lib File.expand_path("../../../Binaries/Native/Linux/#{arch}/libJavonetRubyRuntimeNative.so", __FILE__)
@@ -1 +1 @@
1
- 2.5.0
1
+ 2.5.2
@@ -10,10 +10,18 @@ void InitializeTransmitter(const FunctionCallbackInfo<Value>& args) {
10
10
  }
11
11
  v8::String::Utf8Value str(isolate, args[0]);
12
12
  std::string nodeJsAddonPath(*str);
13
-
13
+ std::string arch = "";
14
14
  #ifdef _WIN32
15
- nativeLibFullPath = nodeJsAddonPath + "\\Binaries\\Native\\Windows\\X64\\JavonetNodejsRuntimeNative.dll";
16
-
15
+ #if defined(_WIN64) && defined(_M_ARM64)
16
+ arch = "ARM64";
17
+ #elif defined(_WIN64)
18
+ arch = "X64";
19
+ #elif defined(_M_ARM)
20
+ arch = "ARM";
21
+ #else
22
+ arch = "X86";
23
+ #endif
24
+ nativeLibFullPath = nodeJsAddonPath + "\\Binaries\\Native\\Windows\\" + arch + "\\JavonetNodejsRuntimeNative.dll";
17
25
  JavonetNodejsRuntimeNativeLibInstance = LoadLibraryA(nativeLibFullPath.c_str());
18
26
  if (!JavonetNodejsRuntimeNativeLibInstance) {
19
27
  char errorMessage[300];
@@ -26,12 +34,24 @@ void InitializeTransmitter(const FunctionCallbackInfo<Value>& args) {
26
34
  #endif //_WIN32
27
35
 
28
36
  #if defined(__linux__) || defined(__APPLE__)
37
+ #if __aarch64__
38
+ arch = "ARM64";
39
+ #elif __x86_64__ || __ppc64__
40
+ arch = "X64";
41
+ #elif __arm__
42
+ arch = "ARM";
43
+ #else
44
+ arch = "X86";
45
+ #endif
29
46
  #if defined(__linux__)
30
- nativeLibFullPath = nodeJsAddonPath + "/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so";
47
+ std::string sharedLibName = "libJavonetNodejsRuntimeNative.so";
48
+ nativeLibFullPath = nodeJsAddonPath + "/Binaries/Native/Linux/" + arch + "/" + sharedLibName;
31
49
  #endif //__linux__
32
50
  #if defined(__APPLE__)
33
- nativeLibFullPath = nodeJsAddonPath + "/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib";
51
+ std::string sharedLibName = "libJavonetNodejsRuntimeNative.dylib";
52
+ nativeLibFullPath = nodeJsAddonPath + "/Binaries/Native/MacOs/" + arch + "/" + sharedLibName;
34
53
  #endif //__APPLE__
54
+
35
55
  JavonetNodejsRuntimeNativeLibInstance = dlopen(nativeLibFullPath.c_str(), RTLD_LAZY);
36
56
  char* error = dlerror();
37
57
  if (JavonetNodejsRuntimeNativeLibInstance == NULL || error != NULL) {
@@ -80,7 +100,7 @@ void SendCommand(const FunctionCallbackInfo<Value>& args)
80
100
  messageByteArray[i] = messageArray->Get(context, i).ToLocalChecked()->Uint32Value(context).FromMaybe(0);
81
101
  }
82
102
  responseArrayLen = SendCommandNative_Fn((byte*)messageByteArray, messageArrayLen);
83
-
103
+
84
104
  if (responseArrayLen > 0) {
85
105
  responseByteArray = new byte[responseArrayLen];
86
106
  ReadResponseNative_Fn(responseByteArray, responseArrayLen);
@@ -155,7 +175,7 @@ void Activate(const FunctionCallbackInfo<Value>& args)
155
175
  isolate->ThrowException(Exception::Error(
156
176
  String::NewFromUtf8(isolate, errorMessage2.c_str(),
157
177
  NewStringType::kNormal).ToLocalChecked()));
158
- }
178
+ }
159
179
  return;
160
180
  }
161
181
 
@@ -10,36 +10,55 @@ let Receiver
10
10
  class Interpreter {
11
11
  handler = new Handler()
12
12
 
13
- execute(command, connectionType, tcpAddress) {
14
- let commandSerializer = new CommandSerializer()
15
- let byteMessage = commandSerializer.serialize(command,connectionType, tcpAddress)
16
- let responseByteArray
17
-
18
- if (command.runtimeName === Runtime.Nodejs && connectionType === ConnectionType.IN_MEMORY)
19
- {
20
- // lazy receiver loading
21
- if (!Receiver) {
22
- Receiver = require('../receiver/Receiver')
23
- }
24
- responseByteArray = Receiver.sendCommand(byteMessage)
13
+ async executeAsync(command, connectionData) {
14
+ try {
15
+ const messageByteArray = new CommandSerializer().serialize(command, connectionData)
16
+
17
+ if (connectionData.connectionType === ConnectionType.WEB_SOCKET) {
18
+ const { WebSocketClient } = require("../webSocketClient/WebSocketClient");
19
+ const wsClient = new WebSocketClient(connectionData.hostname, null)
25
20
 
21
+ const responseByteArray = await wsClient.send(messageByteArray)
22
+ return new CommandDeserializer(responseByteArray).deserialize()
23
+ }
24
+ else {
25
+ return this.execute(command, connectionData)
26
+ }
27
+ } catch (error) {
28
+ // TODO: handle error exception log?
26
29
  }
27
- else {
28
- // lazy transmitter loading
29
- if (!Transmitter) {
30
- Transmitter = require('../transmitter/Transmitter')
30
+ }
31
+
32
+ execute(command, connectionData) {
33
+ try {
34
+ let messageByteArray = new CommandSerializer().serialize(command, connectionData)
35
+ let responseByteArray
36
+
37
+ if (command.runtimeName === Runtime.Nodejs && connectionData.connectionType === ConnectionType.IN_MEMORY)
38
+ {
39
+ // lazy receiver loading
40
+ if (!Receiver) {
41
+ Receiver = require('../receiver/Receiver')
42
+ }
43
+ responseByteArray = Receiver.sendCommand(messageByteArray)
44
+
45
+ }
46
+ else {
47
+ // lazy transmitter loading
48
+ if (!Transmitter) {
49
+ Transmitter = require('../transmitter/Transmitter')
50
+ }
51
+ responseByteArray = Transmitter.sendCommand(messageByteArray)
31
52
  }
32
- responseByteArray = Transmitter.sendCommand(byteMessage)
53
+ return new CommandDeserializer(responseByteArray).deserialize()
54
+ } catch (error) {
55
+ // TODO: handle error exception log?
33
56
  }
34
- return new CommandDeserializer(responseByteArray).deserialize()
35
57
  }
36
58
 
37
- process(byteArray) {
38
- let commandDeserializer = new CommandDeserializer(byteArray)
39
- let receivedCommand = commandDeserializer.deserialize()
40
- let responseCommand = this.handler.handleCommand(receivedCommand)
41
- let commandSerializer = new CommandSerializer()
42
- return commandSerializer.serialize(responseCommand, ConnectionType.IN_MEMORY)
59
+ process(messageByteArray) {
60
+ let receivedCommand = new CommandDeserializer(messageByteArray).deserialize()
61
+ return this.handler.handleCommand(receivedCommand)
43
62
  }
44
63
  }
45
64
 
@@ -1,45 +1,21 @@
1
1
  const Command = require("../../utils/Command")
2
2
  const TypeEncoder = require('./TypeSerializer')
3
- const ConnectionType = require("../../utils/ConnectionType");
4
3
  const Runtime = require('../../utils/RuntimeName')
5
4
 
6
5
  class CommandSerializer {
7
6
  buffer = new Int8Array(2)
8
7
 
9
- serialize(command, connectionType, tcpConnectionData = null, runtimeVersion = 0) {
8
+
9
+ serialize(command, connectionData, runtimeVersion = 0) {
10
10
  let deque = [command]
11
11
  this.buffer[0] = command.runtimeName
12
12
  this.buffer[1] = runtimeVersion
13
- this.#insertIntoBuffer(this.#serialize_tcp(connectionType, tcpConnectionData))
13
+ this.#insertIntoBuffer(connectionData.serializeConnectionData())
14
14
  this.#insertIntoBuffer(new Int8Array([Runtime.Nodejs, command.commandType]))
15
- return this.#encodeRecursively(deque)
16
- }
17
-
18
- #serialize_tcp = function(connectionType, tcpConnectionData) {
19
- let encodedTcp = new Int8Array(7)
20
- encodedTcp[0] = connectionType
21
- if (connectionType === ConnectionType.IN_MEMORY || tcpConnectionData === null) {
22
- encodedTcp[1] = 0
23
- encodedTcp[2] = 0
24
- encodedTcp[3] = 0
25
- encodedTcp[4] = 0
26
- encodedTcp[5] = 0
27
- encodedTcp[6] = 0
28
- }
29
- else if (ConnectionType.TCP === connectionType) {
30
- let address = tcpConnectionData.getAddressBytes()
31
- let port = tcpConnectionData.getPortBytes()
32
- encodedTcp[1] = address[0]
33
- encodedTcp[2] = address[1]
34
- encodedTcp[3] = address[2]
35
- encodedTcp[4] = address[3]
36
- encodedTcp[5] = port[0]
37
- encodedTcp[6] = port[1]
38
- }
39
- return encodedTcp
15
+ return this.#serializeRecursively(deque)
40
16
  }
41
17
 
42
- #encodeRecursively = function(deque) {
18
+ #serializeRecursively = function(deque) {
43
19
  if (deque.length === 0) return this.buffer;
44
20
  let cmd = deque.pop()
45
21
  deque.push(cmd.dropFirstPayloadArg())
@@ -52,11 +28,11 @@ class CommandSerializer {
52
28
  let result = TypeEncoder.encodePrimitive(cmd.payload[0])
53
29
  this.#insertIntoBuffer(result)
54
30
  }
55
- return this.#encodeRecursively(deque)
31
+ return this.#serializeRecursively(deque)
56
32
  } else {
57
33
  deque.pop()
58
34
  }
59
- return this.#encodeRecursively(deque)
35
+ return this.#serializeRecursively(deque)
60
36
  }
61
37
 
62
38
  #insertIntoBuffer = function(arg) {
@@ -1,9 +1,14 @@
1
1
  const Interpreter = require('../interpreter/Interpreter')
2
+ const CommandSerializer = require("../protocol/CommandSerializer");
3
+ const InMemoryConnectionData = require("../../utils/connectionData/InMemoryConnectionData");
2
4
  const interpreter = new Interpreter()
3
5
 
4
6
  class Receiver {
7
+
8
+ static connectionData = new InMemoryConnectionData();
9
+
5
10
  static sendCommand(messageByteArray) {
6
- return interpreter.process(messageByteArray)
11
+ return new CommandSerializer().serialize(interpreter.process(messageByteArray), this.connectionData)
7
12
  }
8
13
  static heartBeat(messageByteArray) {
9
14
  let response = new Int8Array(2)
@@ -6,20 +6,8 @@ class Transmitter {
6
6
  return wrapper.sendCommand(messageArray)
7
7
  }
8
8
 
9
- static #activate = function(licenseKey = "", proxyHost = "", proxyUserName="", proxyUserPassword="") {
10
- return wrapper.activate(licenseKey, proxyHost, proxyUserName, proxyUserPassword)
11
- }
12
-
13
- static activateWithLicenseFile() {
14
- return this.#activate()
15
- }
16
-
17
- static activateWithCredentials(licenseKey) {
18
- return this.#activate(licenseKey)
19
- }
20
-
21
- static activateWithCredentialsAndProxy(licenseKey, proxyHost, proxyUserName, proxyUserPassword) {
22
- return this.#activate(licenseKey, proxyHost, proxyUserName, proxyUserPassword)
9
+ static activate = function(licenseKey = "") {
10
+ return wrapper.activate(licenseKey, "", "", "")
23
11
  }
24
12
 
25
13
  static setConfigSource(configSource) {