javonet-nodejs-sdk 2.5.1 → 2.5.3

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/libJavonetActivationService.so +0 -0
  6. package/Binaries/Native/Linux/ARM64/libJavonetCppRuntimeNative.so +0 -0
  7. package/Binaries/Native/Linux/ARM64/libJavonetGoRuntimeNative.so +0 -0
  8. package/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
  9. package/Binaries/Native/Linux/ARM64/libJavonetNetcoreRuntimeNative.so +0 -0
  10. package/Binaries/Native/Linux/ARM64/libJavonetPythonRuntimeNative.so +0 -0
  11. package/Binaries/Native/Linux/ARM64/libJavonetRuby278RuntimeNative.so +0 -0
  12. package/Binaries/Native/Linux/ARM64/libJavonetRubyRuntimeNative.so +0 -0
  13. package/Binaries/Native/Linux/ARM64/libJavonetTcpClient.so +0 -0
  14. package/Binaries/Native/Linux/ARM64/libJavonetTcpTlsClient.so +0 -0
  15. package/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
  16. package/Binaries/Native/Linux/ARM64/version.txt +1 -1
  17. package/Binaries/Native/Linux/X64/NativeUtilsUnitTests.xml +18 -18
  18. package/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  19. package/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  20. package/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  21. package/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  22. package/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  23. package/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
  24. package/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  25. package/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  26. package/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  27. package/Binaries/Native/Linux/X64/libJavonetRuby278RuntimeNative.so +0 -0
  28. package/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  29. package/Binaries/Native/Linux/X64/libJavonetTcpClient.so +0 -0
  30. package/Binaries/Native/Linux/X64/libJavonetTcpTlsClient.so +0 -0
  31. package/Binaries/Native/Linux/X64/libUtils.so +0 -0
  32. package/Binaries/Native/Linux/X64/openssl3/libJavonetActivationService.so +0 -0
  33. package/Binaries/Native/Linux/X64/openssl3/libJavonetTcpTlsClient.so +0 -0
  34. package/Binaries/Native/Linux/X64/openssl3/libUtils.so +0 -0
  35. package/Binaries/Native/Linux/X64/version.txt +1 -1
  36. package/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
  37. package/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  38. package/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  39. package/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  40. package/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  41. package/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
  42. package/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  43. package/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  44. package/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  45. package/Binaries/Native/MacOs/X64/libJavonetRuby278RuntimeNative.dylib +0 -0
  46. package/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  47. package/Binaries/Native/MacOs/X64/libJavonetTcpClient.dylib +0 -0
  48. package/Binaries/Native/MacOs/X64/libJavonetTcpTlsClient.dylib +0 -0
  49. package/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  50. package/Binaries/Native/MacOs/X64/version.txt +1 -1
  51. package/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
  52. package/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
  53. package/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
  54. package/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
  55. package/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
  56. package/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
  57. package/Binaries/Native/Windows/ARM64/JavonetRuby278RuntimeNative.dll +0 -0
  58. package/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
  59. package/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
  60. package/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
  61. package/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
  62. package/Binaries/Native/Windows/ARM64/version.txt +0 -0
  63. package/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  64. package/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  65. package/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  66. package/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  67. package/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  68. package/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  69. package/Binaries/Native/Windows/X64/JavonetNodejs1816RuntimeNative.dll +0 -0
  70. package/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  71. package/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  72. package/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  73. package/Binaries/Native/Windows/X64/JavonetRuby278RuntimeNative.dll +0 -0
  74. package/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  75. package/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
  76. package/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
  77. package/Binaries/Native/Windows/X64/Utils.dll +0 -0
  78. package/Binaries/Native/Windows/X64/version.txt +1 -1
  79. package/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
  80. package/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
  81. package/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
  82. package/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
  83. package/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
  84. package/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
  85. package/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
  86. package/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
  87. package/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
  88. package/Binaries/Native/Windows/X86/Utils.dll +0 -0
  89. package/Binaries/Native/Windows/X86/version.txt +1 -1
  90. package/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
  91. package/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
  92. package/Binaries/Nodejs/core/interpreter/Interpreter.js +43 -24
  93. package/Binaries/Nodejs/core/protocol/CommandSerializer.js +13 -45
  94. package/Binaries/Nodejs/core/receiver/Receiver.js +12 -2
  95. package/Binaries/Nodejs/core/transmitter/Transmitter.js +2 -14
  96. package/Binaries/Nodejs/core/transmitter/TransmitterWrapper.js +1 -1
  97. package/Binaries/Nodejs/core/webSocketClient/WebSocketClient.js +133 -0
  98. package/Binaries/Nodejs/utils/ConnectionType.js +2 -1
  99. package/Binaries/Nodejs/utils/RuntimeLogger.js +27 -0
  100. package/Binaries/Nodejs/utils/connectionData/IConnectionData.js +17 -0
  101. package/Binaries/Nodejs/utils/connectionData/InMemoryConnectionData.js +28 -0
  102. package/Binaries/Nodejs/utils/{TcpConnectionData.js → connectionData/TcpConnectionData.js} +26 -6
  103. package/Binaries/Nodejs/utils/connectionData/WsConnectionData.js +33 -0
  104. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Attribute-Util-1.07/install.json +1 -1
  105. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Capture-Tiny-0.48/install.json +1 -1
  106. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Class-Load-0.25/install.json +1 -1
  107. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Class-Load-XS-0.10/install.json +1 -1
  108. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Clone-0.47/install.json +1 -1
  109. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-Cmp-0.010/install.json +1 -1
  110. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-OptList-0.114/install.json +1 -1
  111. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-UUID-1.227/install.json +1 -1
  112. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-GlobalDestruction-0.14/install.json +1 -1
  113. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-OverloadInfo-0.007/install.json +1 -1
  114. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-StackTrace-2.05/install.json +1 -1
  115. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Dist-CheckConflicts-0.11/install.json +1 -1
  116. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Eval-Closure-0.14/install.json +1 -1
  117. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Config-0.010/install.json +1 -1
  118. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Helpers-0.028/install.json +1 -1
  119. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-InstallPaths-0.014/install.json +1 -1
  120. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-CheckLib-0.31/install.json +1 -1
  121. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-Platypus-2.09/install.json +1 -1
  122. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/File-Which-1.27/install.json +1 -1
  123. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/IPC-System-Simple-1.30/install.json +1 -1
  124. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/MRO-Compat-0.15/install.json +1 -1
  125. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-0.4234/install.json +1 -1
  126. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-Tiny-0.051/install.json +1 -1
  127. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Implementation-0.09/install.json +1 -1
  128. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Runtime-0.016/install.json +1 -1
  129. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Runtime-Conflicts-0.003/install.json +1 -1
  130. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Moose-2.2207/install.json +1 -1
  131. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Nice-Try-v1.3.13/install.json +1 -1
  132. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-1.279/install.json +1 -1
  133. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-XS-0.910/install.json +1 -1
  134. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-DeprecationManager-0.18/install.json +1 -1
  135. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-Stash-0.40/install.json +1 -1
  136. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-Stash-XS-0.30/install.json +1 -1
  137. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Params-Util-1.102/install.json +1 -1
  138. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Path-Tiny-0.146/install.json +1 -1
  139. 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
  140. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-List-Utils-1.68/install.json +1 -0
  141. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-Util-Numeric-0.40/install.json +1 -1
  142. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scope-Guard-0.21/install.json +1 -1
  143. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Exporter-0.991/install.json +1 -1
  144. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Exporter-Progressive-0.001013/install.json +1 -1
  145. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Install-0.929/install.json +1 -1
  146. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Task-Weaken-1.06/install.json +1 -1
  147. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Test-Fatal-0.017/install.json +1 -1
  148. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Try-Tiny-0.32/install.json +1 -1
  149. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Want-0.29/install.json +1 -1
  150. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/aliased-0.34/install.json +1 -1
  151. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/autobox-v3.0.2/install.json +1 -1
  152. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/List/Util/XS.pm +1 -1
  153. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/List/Util.pm +1 -1
  154. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Scalar/List/Utils.pm +43 -0
  155. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Scalar/Util.pm +1 -1
  156. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Sub/Util.pm +1 -1
  157. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
  158. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
  159. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
  160. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/.packlist +2 -0
  161. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
  162. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  163. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
  164. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
  165. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
  166. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  167. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/lib/libplfill.so +0 -0
  168. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/probe/bin/dlrun +0 -0
  169. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +89 -89
  170. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +10 -27
  171. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/TypeSerializer.pm +20 -0
  172. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Receiver/Receiver.pm +6 -0
  173. package/Binaries/Perl/Linux/X64/lib/Javonet/Javonet.pm +2 -0
  174. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/RuntimeLogger.pm +34 -0
  175. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Attribute-Util-1.07/install.json +1 -1
  176. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Data-Cmp-0.010/install.json +1 -1
  177. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Data-UUID-1.227/install.json +1 -1
  178. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Nice-Try-v1.3.13/install.json +1 -1
  179. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-1.279/install.json +1 -1
  180. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-XS-0.910/install.json +1 -1
  181. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Scalar-Util-Numeric-0.40/install.json +1 -1
  182. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Test-Fatal-0.017/install.json +1 -1
  183. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Want-0.29/install.json +1 -1
  184. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/autobox-v3.0.2/install.json +1 -1
  185. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  186. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  187. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
  188. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  189. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  190. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +19 -19
  191. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +10 -27
  192. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/TypeSerializer.pm +20 -0
  193. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Receiver/Receiver.pm +6 -0
  194. package/Binaries/Perl/Windows/X64/lib/Javonet/Javonet.pm +2 -0
  195. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/RuntimeLogger.pm +34 -0
  196. package/Binaries/Python/javonet/core/__pycache__/__init__.cpython-312.pyc +0 -0
  197. package/Binaries/Python/javonet/core/callback/callbackFunc.py +4 -2
  198. package/Binaries/Python/javonet/core/delegateCache/DelegatesCache.py +39 -0
  199. package/Binaries/Python/javonet/core/delegateCache/__init__.py +0 -0
  200. package/Binaries/Python/javonet/core/delegateCache/__pycache__/DelegatesCache.cpython-312.pyc +0 -0
  201. package/Binaries/Python/javonet/core/delegateCache/__pycache__/__init__.cpython-312.pyc +0 -0
  202. package/Binaries/Python/javonet/core/generator/__pycache__/__init__.cpython-312.pyc +0 -0
  203. package/Binaries/Python/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-312.pyc +0 -0
  204. package/Binaries/Python/javonet/core/generator/internal/__pycache__/__init__.cpython-312.pyc +0 -0
  205. package/Binaries/Python/javonet/core/handler/CreateClassInstanceHandler.py +1 -7
  206. package/Binaries/Python/javonet/core/handler/GetInstanceMethodAsDelegateHandler.py +29 -0
  207. package/Binaries/Python/javonet/core/handler/GetStaticMethodAsDelegateHandler.py +31 -0
  208. package/Binaries/Python/javonet/core/handler/GetTypeHandler.py +4 -3
  209. package/Binaries/Python/javonet/core/handler/Handler.py +9 -0
  210. package/Binaries/Python/javonet/core/handler/InvokeDelegateHandler.py +27 -0
  211. package/Binaries/Python/javonet/core/handler/InvokeStaticMethodHandler.py +0 -2
  212. package/Binaries/Python/javonet/core/handler/PassDelegateHandler.py +21 -0
  213. package/Binaries/Python/javonet/core/handler/__pycache__/AbstractCommandHandler.cpython-312.pyc +0 -0
  214. package/Binaries/Python/javonet/core/handler/__pycache__/AbstractHandler.cpython-312.pyc +0 -0
  215. package/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetItemHandler.cpython-312.pyc +0 -0
  216. package/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetRankHandler.cpython-312.pyc +0 -0
  217. package/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetSizeHandler.cpython-312.pyc +0 -0
  218. package/Binaries/Python/javonet/core/handler/__pycache__/ArrayHandler.cpython-312.pyc +0 -0
  219. package/Binaries/Python/javonet/core/handler/__pycache__/ArraySetItemHandler.cpython-312.pyc +0 -0
  220. package/Binaries/Python/javonet/core/handler/__pycache__/CastingHandler.cpython-312.pyc +0 -0
  221. package/Binaries/Python/javonet/core/handler/__pycache__/CreateClassInstanceHandler.cpython-312.pyc +0 -0
  222. package/Binaries/Python/javonet/core/handler/__pycache__/DestructReferenceHandler.cpython-312.pyc +0 -0
  223. package/Binaries/Python/javonet/core/handler/__pycache__/EnableNamespaceHandler.cpython-312.pyc +0 -0
  224. package/Binaries/Python/javonet/core/handler/__pycache__/EnableTypeHandler.cpython-312.pyc +0 -0
  225. package/Binaries/Python/javonet/core/handler/__pycache__/GetEnumItemHandler.cpython-312.pyc +0 -0
  226. package/Binaries/Python/javonet/core/handler/__pycache__/GetEnumNameHandler.cpython-312.pyc +0 -0
  227. package/Binaries/Python/javonet/core/handler/__pycache__/GetEnumValueHandler.cpython-312.pyc +0 -0
  228. package/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceFieldHandler.cpython-312.pyc +0 -0
  229. package/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceMethodAsDelegateHandler.cpython-312.pyc +0 -0
  230. package/Binaries/Python/javonet/core/handler/__pycache__/GetStaticFieldHandler.cpython-312.pyc +0 -0
  231. package/Binaries/Python/javonet/core/handler/__pycache__/GetStaticMethodAsDelegateHandler.cpython-312.pyc +0 -0
  232. package/Binaries/Python/javonet/core/handler/__pycache__/GetTypeHandler.cpython-312.pyc +0 -0
  233. package/Binaries/Python/javonet/core/handler/__pycache__/Handler.cpython-312.pyc +0 -0
  234. package/Binaries/Python/javonet/core/handler/__pycache__/HandlerDictionary.cpython-312.pyc +0 -0
  235. package/Binaries/Python/javonet/core/handler/__pycache__/InvokeDelegateHandler.cpython-312.pyc +0 -0
  236. package/Binaries/Python/javonet/core/handler/__pycache__/InvokeInstanceMethodHandler.cpython-312.pyc +0 -0
  237. package/Binaries/Python/javonet/core/handler/__pycache__/InvokeStaticMethodHandler.cpython-312.pyc +0 -0
  238. package/Binaries/Python/javonet/core/handler/__pycache__/LoadLibraryHandler.cpython-312.pyc +0 -0
  239. package/Binaries/Python/javonet/core/handler/__pycache__/PassDelegateHandler.cpython-312.pyc +0 -0
  240. package/Binaries/Python/javonet/core/handler/__pycache__/ResolveInstanceHandler.cpython-312.pyc +0 -0
  241. package/Binaries/Python/javonet/core/handler/__pycache__/SetInstanceFieldHandler.cpython-312.pyc +0 -0
  242. package/Binaries/Python/javonet/core/handler/__pycache__/SetStaticFieldHandler.cpython-312.pyc +0 -0
  243. package/Binaries/Python/javonet/core/handler/__pycache__/ValueHandler.cpython-312.pyc +0 -0
  244. package/Binaries/Python/javonet/core/handler/__pycache__/__init__.cpython-312.pyc +0 -0
  245. package/Binaries/Python/javonet/core/interpreter/Interpreter.py +0 -1
  246. package/Binaries/Python/javonet/core/interpreter/__pycache__/Interpreter.cpython-312.pyc +0 -0
  247. package/Binaries/Python/javonet/core/interpreter/__pycache__/__init__.cpython-312.pyc +0 -0
  248. package/Binaries/Python/javonet/core/namespaceCache/__pycache__/NamespaceCache.cpython-312.pyc +0 -0
  249. package/Binaries/Python/javonet/core/namespaceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  250. package/Binaries/Python/javonet/core/protocol/CommandDeserializer.py +1 -0
  251. package/Binaries/Python/javonet/core/protocol/CommandSerializer.py +13 -46
  252. package/Binaries/Python/javonet/core/protocol/TypeSerializer.py +21 -1
  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 +5 -0
  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 -3
  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/utils/CommandType.py +4 -0
  267. package/Binaries/Python/javonet/utils/RuntimeLogger.py +30 -0
  268. package/Binaries/Python/javonet/utils/__pycache__/Command.cpython-312.pyc +0 -0
  269. package/Binaries/Python/javonet/utils/__pycache__/CommandType.cpython-312.pyc +0 -0
  270. package/Binaries/Python/javonet/utils/__pycache__/ConnectionType.cpython-312.pyc +0 -0
  271. package/Binaries/Python/javonet/utils/__pycache__/ExceptionType.cpython-312.pyc +0 -0
  272. package/Binaries/Python/javonet/utils/__pycache__/RuntimeLogger.cpython-312.pyc +0 -0
  273. package/Binaries/Python/javonet/utils/__pycache__/RuntimeName.cpython-312.pyc +0 -0
  274. package/Binaries/Python/javonet/utils/__pycache__/StringEncodingMode.cpython-312.pyc +0 -0
  275. package/Binaries/Python/javonet/utils/__pycache__/Type.cpython-312.pyc +0 -0
  276. package/Binaries/Python/javonet/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  277. package/Binaries/Python/javonet/utils/connectionData/__pycache__/IConnectionData.cpython-312.pyc +0 -0
  278. package/Binaries/Python/javonet/utils/connectionData/__pycache__/InMemoryConnectionData.cpython-312.pyc +0 -0
  279. package/Binaries/Python/javonet/utils/connectionData/__pycache__/__init__.cpython-312.pyc +0 -0
  280. package/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-312.pyc +0 -0
  281. package/Binaries/Python/javonet/utils/exception/__pycache__/__init__.cpython-312.pyc +0 -0
  282. package/Binaries/Ruby/Linux/X64/core/interpreter/interpreter.rb +6 -10
  283. package/Binaries/Ruby/Linux/X64/core/protocol/command_deserializer.rb +2 -2
  284. package/Binaries/Ruby/Linux/X64/core/transmitter/transmitter.rb +4 -16
  285. package/Binaries/Ruby/MacOs/X64/core/interpreter/interpreter.rb +6 -10
  286. package/Binaries/Ruby/MacOs/X64/core/protocol/command_deserializer.rb +2 -2
  287. package/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter.rb +4 -16
  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/version.txt +1 -1
  292. package/lib/core/interpreter/Interpreter.js +43 -24
  293. package/lib/core/protocol/CommandSerializer.js +13 -45
  294. package/lib/core/receiver/Receiver.js +12 -2
  295. package/lib/core/transmitter/Transmitter.js +2 -14
  296. package/lib/core/transmitter/TransmitterWrapper.js +1 -1
  297. package/lib/core/webSocketClient/WebSocketClient.js +133 -0
  298. package/lib/sdk/ConfigRuntimeFactory.js +16 -8
  299. package/lib/sdk/InvocationContext.js +128 -139
  300. package/lib/sdk/Javonet.js +25 -15
  301. package/lib/sdk/RuntimeContext.js +222 -215
  302. package/lib/sdk/RuntimeFactory.js +9 -10
  303. package/lib/sdk/tools/SdkExceptionHelper.js +1 -1
  304. package/lib/utils/ConnectionType.js +2 -1
  305. package/lib/utils/RuntimeLogger.js +27 -0
  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
@@ -0,0 +1,34 @@
1
+ package Javonet::Sdk::Core::RuntimeLogger;
2
+ use strict;
3
+ use warnings;
4
+ use Config qw(%Config);
5
+ use Cwd;
6
+ use Sys::Hostname;
7
+
8
+ our $not_logged_yet = 1;
9
+
10
+ sub get_runtime_info {
11
+ my $info;
12
+ eval {
13
+ $info = "Perl Managed Runtime Info:\n" .
14
+ "Perl Version: $]\n" .
15
+ "Perl executable path: $^X\n" .
16
+ "Perl \@INC Path: @INC\n" .
17
+ "OS Version: " . $Config{osname} . " " . $Config{osvers} . "\n" .
18
+ "Process Architecture: " . $Config{archname} . "\n" .
19
+ "Current Directory: " . getcwd() . "\n";
20
+ };
21
+ if ($@) {
22
+ $info = "Perl Managed Runtime Info: Error while fetching runtime info";
23
+ }
24
+ return $info;
25
+ }
26
+
27
+ sub print_runtime_info {
28
+ if ($not_logged_yet) {
29
+ print get_runtime_info();
30
+ $not_logged_yet = 0;
31
+ }
32
+ }
33
+
34
+ 1;
@@ -1,5 +1,7 @@
1
1
  def callbackFunc(message_byte_array, message_byte_array_len):
2
2
  from javonet.core.receiver.Receiver import Receiver
3
3
  python_receiver = Receiver()
4
- response = python_receiver.HeartBeat(message_byte_array, message_byte_array_len)
5
- return response
4
+ if message_byte_array[10] == 11:
5
+ return python_receiver.HeartBeat(message_byte_array, message_byte_array_len)
6
+ else:
7
+ return python_receiver.SendCommand(message_byte_array, message_byte_array_len)
@@ -0,0 +1,39 @@
1
+ import uuid
2
+ import threading
3
+ from javonet.utils.CommandType import CommandType
4
+
5
+
6
+ class DelegatesCache(object):
7
+ _instance = None
8
+ delegates_cache = dict()
9
+ _lock = threading.Lock() # Initialize a lock object
10
+
11
+ def __new__(cls):
12
+ with cls._lock:
13
+ if cls._instance is None:
14
+ cls._instance = super(DelegatesCache, cls).__new__(cls)
15
+ return cls._instance
16
+
17
+ def cache_delegate(self, object_delegate):
18
+ with self._lock:
19
+ uuid_ = str(uuid.uuid4())
20
+ self.delegates_cache[uuid_] = object_delegate
21
+ return uuid_
22
+
23
+ def resolve_delegate(self, command):
24
+ if command.command_type != CommandType.Reference:
25
+ raise Exception(
26
+ "Failed to find delegate")
27
+ with self._lock:
28
+ try:
29
+ return self.delegates_cache[command.payload[0]]
30
+ except KeyError:
31
+ raise Exception("Object not found in delegates")
32
+
33
+ def delete_delegate(self, delegate_guid):
34
+ with self._lock:
35
+ try:
36
+ del self.delegates_cache[delegate_guid]
37
+ return 0
38
+ except KeyError:
39
+ raise Exception("Object not found in delegates")
@@ -14,13 +14,7 @@ class CreateClassInstanceHandler(AbstractCommandHandler):
14
14
  clazz = command.payload[0]
15
15
  if len(command.payload) > 1:
16
16
  method_arguments = command.payload[1:]
17
- sig = signature(clazz)
18
- if len(sig.parameters) != len(method_arguments):
19
- raise Exception("Number of arguments for create class instance are not matching!")
20
- try:
21
- return clazz(*method_arguments)
22
- except:
23
- raise Exception("Error while creating class instance!")
17
+ return clazz(*method_arguments)
24
18
  return clazz()
25
19
  except Exception as e:
26
20
  exc_type, exc_value = type(e), e
@@ -0,0 +1,29 @@
1
+ from javonet.core.handler.AbstractCommandHandler import *
2
+
3
+
4
+ class GetInstanceMethodAsDelegateHandler(AbstractCommandHandler):
5
+
6
+ def __init__(self):
7
+ self._required_parameters_count = 2
8
+
9
+ def process(self, command):
10
+ try:
11
+ if len(command.payload) < self._required_parameters_count:
12
+ raise Exception("InvokeInstanceMethod Parameters mismatch!")
13
+
14
+ class_instance = command.payload[0]
15
+ try:
16
+ method = getattr(class_instance, command.payload[1])
17
+ except AttributeError:
18
+ methods = [method for method in dir(class_instance) if callable(getattr(class_instance, method))]
19
+ message = "Method {} not found in class {}. Available methods:\n".format(command.payload[1],
20
+ class_instance.__class__.__name__)
21
+ for method in methods:
22
+ message += "{}\n".format(method)
23
+ raise AttributeError(message)
24
+
25
+ return method
26
+ except Exception as e:
27
+ exc_type, exc_value = type(e), e
28
+ new_exc = exc_type(exc_value).with_traceback(e.__traceback__)
29
+ raise new_exc from None
@@ -0,0 +1,31 @@
1
+ from javonet.core.handler.AbstractCommandHandler import *
2
+
3
+
4
+ class GetStaticMethodAsDelegateHandler(AbstractCommandHandler):
5
+
6
+ def __init__(self):
7
+ self._required_parameters_count = 2
8
+
9
+ def process(self, command):
10
+ try:
11
+ if len(command.payload) < self._required_parameters_count:
12
+ raise Exception("InvokeStaticMethod Parameters mismatch!")
13
+
14
+ clazz = command.payload[0]
15
+ try:
16
+ method = getattr(clazz, command.payload[1])
17
+ except AttributeError:
18
+ methods = [method for method in dir(clazz) if callable(getattr(clazz, method))]
19
+ message = "Method {} not found in class {}. Available methods:\n".format(command.payload[1],
20
+ clazz.__name__)
21
+ for method in methods:
22
+ message += "{}\n".format(method)
23
+ raise AttributeError(message)
24
+
25
+ return method
26
+ except Exception as e:
27
+ exc_type, exc_value = type(e), e
28
+ new_exc = exc_type(exc_value).with_traceback(e.__traceback__)
29
+ raise new_exc from None
30
+
31
+
@@ -51,6 +51,7 @@ class GetTypeHandler(AbstractCommandHandler):
51
51
  return self._get_type_from_nested_payload(command.payload)
52
52
 
53
53
  def _get_type_from_nested_payload(self, payload):
54
- for i in range(len(payload) - 1):
55
- loaded_module = import_module(".".join(payload[:i + 1]))
56
- return getattr(loaded_module, payload[-1])
54
+ module_name = ".".join(payload[:-1])
55
+ class_name = payload[-1]
56
+ loaded_module = import_module(module_name)
57
+ return getattr(loaded_module, class_name)
@@ -22,6 +22,11 @@ from javonet.core.handler.GetEnumNameHandler import GetEnumNameHandler
22
22
  from javonet.core.handler.GetEnumValueHandler import GetEnumValueHandler
23
23
  from javonet.core.handler.EnableNamespaceHandler import EnableNamespaceHandler
24
24
  from javonet.core.handler.EnableTypeHandler import EnableTypeHandler
25
+ from javonet.core.handler.GetStaticMethodAsDelegateHandler import GetStaticMethodAsDelegateHandler
26
+ from javonet.core.handler.GetInstanceMethodAsDelegateHandler import GetInstanceMethodAsDelegateHandler
27
+ from javonet.core.handler.PassDelegateHandler import PassDelegateHandler
28
+ from javonet.core.handler.InvokeDelegateHandler import InvokeDelegateHandler
29
+
25
30
 
26
31
  from javonet.core.handler.HandlerDictionary import handler_dict
27
32
  from javonet.core.referenceCache.ReferencesCache import ReferencesCache
@@ -56,6 +61,10 @@ class Handler(AbstractHandler):
56
61
  handler_dict[CommandType.GetEnumValue] = GetEnumValueHandler()
57
62
  handler_dict[CommandType.EnableNamespace] = EnableNamespaceHandler()
58
63
  handler_dict[CommandType.EnableType] = EnableTypeHandler()
64
+ handler_dict[CommandType.GetStaticMethodAsDelegate] = GetStaticMethodAsDelegateHandler()
65
+ handler_dict[CommandType.GetInstanceMethodAsDelegate] = GetInstanceMethodAsDelegateHandler()
66
+ handler_dict[CommandType.PassDelegate] = PassDelegateHandler()
67
+ handler_dict[CommandType.InvokeDelegate] = InvokeDelegateHandler()
59
68
 
60
69
  def handle_command(self, command):
61
70
  try:
@@ -0,0 +1,27 @@
1
+ from javonet.core.delegateCache.DelegatesCache import DelegatesCache
2
+ from javonet.core.handler.AbstractCommandHandler import *
3
+
4
+
5
+ class InvokeDelegateHandler(AbstractCommandHandler):
6
+
7
+ def __init__(self):
8
+ self._required_parameters_count = 1
9
+
10
+ def process(self, command):
11
+ try:
12
+ if len(command.payload) != self._required_parameters_count:
13
+ raise Exception("ResolveInstanceHandler parameters mismatch!")
14
+
15
+ delegates_cache = DelegatesCache()
16
+ method = delegates_cache.resolve_delegate(command)
17
+ if len(command.payload) > 1:
18
+ method_arguments = command.payload[1:]
19
+ return method(*method_arguments)
20
+ else:
21
+ return method()
22
+ except Exception as e:
23
+ exc_type, exc_value = type(e), e
24
+ new_exc = exc_type(exc_value).with_traceback(e.__traceback__)
25
+ raise new_exc from None
26
+
27
+
@@ -1,5 +1,3 @@
1
- import traceback
2
-
3
1
  from javonet.core.handler.AbstractCommandHandler import *
4
2
 
5
3
 
@@ -0,0 +1,21 @@
1
+ from javonet.core.delegateCache.DelegatesCache import DelegatesCache
2
+ from javonet.core.handler.AbstractCommandHandler import *
3
+
4
+
5
+ class PassDelegateHandler(AbstractCommandHandler):
6
+
7
+ def __init__(self):
8
+ self._required_parameters_count = 1
9
+
10
+ def process(self, command):
11
+ try:
12
+ if len(command.payload) != self._required_parameters_count:
13
+ raise Exception("ResolveInstanceHandler parameters mismatch!")
14
+
15
+ # TO BE IMPLEMENTED
16
+ except Exception as e:
17
+ exc_type, exc_value = type(e), e
18
+ new_exc = exc_type(exc_value).with_traceback(e.__traceback__)
19
+ raise new_exc from None
20
+
21
+
@@ -7,7 +7,6 @@ from javonet.utils.connectionData.IConnectionData import IConnectionData
7
7
 
8
8
  handler = Handler()
9
9
 
10
-
11
10
  class Interpreter:
12
11
 
13
12
  def execute(self, command, connection_data: IConnectionData):
@@ -6,6 +6,7 @@ from javonet.utils.Type import Type
6
6
  from javonet.utils.StringEncodingMode import StringEncodingMode
7
7
 
8
8
 
9
+
9
10
  class CommandDeserializer:
10
11
  position = 0
11
12
  buffer = []
@@ -1,6 +1,3 @@
1
- from collections import deque
2
- from typing import Deque
3
-
4
1
  from javonet.core.protocol.TypeSerializer import TypeSerializer
5
2
  from javonet.utils.Command import Command
6
3
  from javonet.utils.RuntimeName import RuntimeName
@@ -8,54 +5,24 @@ from javonet.utils.connectionData.IConnectionData import IConnectionData
8
5
 
9
6
 
10
7
  class CommandSerializer:
11
- byte_buffer = []
8
+ buffer = []
12
9
 
13
10
  def serialize(self, root_command: Command, connection_data: IConnectionData, runtime_version=0):
14
- queue: Deque[Command] = deque()
15
- queue.append(root_command)
16
11
  self.insert_into_buffer([root_command.runtime_name.value, runtime_version])
17
12
  self.insert_into_buffer(connection_data.serialize_connection_data())
18
13
  self.insert_into_buffer([RuntimeName.python.value, root_command.command_type.value])
19
- return self.serialize_recursively(queue)
20
-
21
- @staticmethod
22
- def serialize_primitive(payload_item):
23
- if payload_item is None:
24
- return TypeSerializer.serialize_none()
25
- if isinstance(payload_item, bool):
26
- return TypeSerializer.serialize_bool(payload_item)
27
- elif isinstance(payload_item, int):
28
- if payload_item in range(-2 ** 31, 2 ** 31):
29
- return TypeSerializer.serialize_int(payload_item)
30
- elif payload_item in range(-2 ** 63, 2 ** 63):
31
- return TypeSerializer.serialize_longlong(payload_item)
14
+ self.serialize_recursively(root_command)
15
+ return self.buffer
16
+
17
+ def serialize_recursively(self, command):
18
+ for item in command.get_payload():
19
+ if isinstance(item, Command):
20
+ self.insert_into_buffer(TypeSerializer.serialize_command(item))
21
+ self.serialize_recursively(item)
32
22
  else:
33
- return TypeSerializer.serialize_ullong(payload_item)
34
- elif isinstance(payload_item, float):
35
- return TypeSerializer.serialize_double(payload_item)
36
- elif isinstance(payload_item, str):
37
- return TypeSerializer.serialize_string(payload_item)
38
- else:
39
- raise Exception("Python: Type serialization not supported for type: " + payload_item)
40
-
41
- def insert_into_buffer(self, arguments):
42
- self.byte_buffer = self.byte_buffer + arguments
23
+ self.insert_into_buffer(TypeSerializer.serialize_primitive(item))
43
24
 
44
- def serialize_recursively(self, queue):
45
- if not queue:
46
- return self.byte_buffer
47
- command = queue.pop()
48
- queue.append(command.drop_first_payload_argument())
49
- if len(command.get_payload()) > 0:
50
- if isinstance(command.get_payload()[0], Command):
51
- inner_command = command.get_payload()[0]
52
- self.insert_into_buffer(TypeSerializer.serialize_command(inner_command))
53
- queue.append(inner_command)
54
- else:
55
- result = self.serialize_primitive(command.get_payload()[0])
56
- self.insert_into_buffer(result)
57
- return self.serialize_recursively(queue)
58
- else:
59
- queue.pop()
25
+ return
60
26
 
61
- return self.serialize_recursively(queue)
27
+ def insert_into_buffer(self, arguments):
28
+ self.buffer = self.buffer + arguments
@@ -5,7 +5,27 @@ from javonet.utils.StringEncodingMode import StringEncodingMode
5
5
 
6
6
 
7
7
  class TypeSerializer:
8
-
8
+
9
+ @staticmethod
10
+ def serialize_primitive(payload_item):
11
+ if payload_item is None:
12
+ return TypeSerializer.serialize_none()
13
+ if isinstance(payload_item, bool):
14
+ return TypeSerializer.serialize_bool(payload_item)
15
+ elif isinstance(payload_item, int):
16
+ if payload_item in range(-2 ** 31, 2 ** 31):
17
+ return TypeSerializer.serialize_int(payload_item)
18
+ elif payload_item in range(-2 ** 63, 2 ** 63):
19
+ return TypeSerializer.serialize_longlong(payload_item)
20
+ else:
21
+ return TypeSerializer.serialize_ullong(payload_item)
22
+ elif isinstance(payload_item, float):
23
+ return TypeSerializer.serialize_double(payload_item)
24
+ elif isinstance(payload_item, str):
25
+ return TypeSerializer.serialize_string(payload_item)
26
+ else:
27
+ raise Exception("Python: Type serialization not supported for type: " + payload_item)
28
+
9
29
  @staticmethod
10
30
  def serialize_command(command):
11
31
  length = list(bytearray(struct.pack("<i", len(command.payload))))
@@ -1,11 +1,16 @@
1
+ import sys
2
+
1
3
  from javonet.core.interpreter.Interpreter import Interpreter
2
4
  from javonet.core.protocol.CommandSerializer import CommandSerializer
5
+ from javonet.utils.RuntimeLogger import RuntimeLogger
3
6
  from javonet.utils.connectionData.InMemoryConnectionData import InMemoryConnectionData
4
7
 
5
8
 
6
9
  class Receiver:
7
10
 
8
11
  def __init__(self):
12
+ RuntimeLogger.print_runtime_info()
13
+ sys.stdout.flush()
9
14
  self.connection_data = InMemoryConnectionData()
10
15
 
11
16
  def SendCommand(self, message_byte_array, messageByteArrayLen):
@@ -24,6 +24,8 @@ class TransmitterWrapper:
24
24
  python_lib_path = file_path + f'/Binaries/Native/Linux/{arch}/libJavonetPythonRuntimeNative.so'
25
25
  elif platform.system() == 'Darwin':
26
26
  python_lib_path = file_path + f'/Binaries/Native/MacOs/{arch}/libJavonetPythonRuntimeNative.dylib'
27
+ else:
28
+ raise RuntimeError("Unsupported OS: " + platform.system())
27
29
 
28
30
  python_lib = cdll.LoadLibrary(python_lib_path)
29
31
  python_lib.SetCallback(callbackFunction)
@@ -69,10 +71,11 @@ class TransmitterWrapper:
69
71
  get_native_error.argtypes = []
70
72
  error_message = get_native_error()
71
73
  raise RuntimeError(
72
- "Javonet activation result: " + str(activation_result) + ". Native error message: " + str(error_message))
74
+ "Javonet activation result: " + str(activation_result) + ". Native error message: " + str(
75
+ error_message))
73
76
  else:
74
77
  return activation_result
75
-
78
+
76
79
  @staticmethod
77
80
  def set_config_source(sourcePath):
78
81
  set_config_source = TransmitterWrapper.python_lib.SetConfigSource
@@ -87,6 +90,7 @@ class TransmitterWrapper:
87
90
  get_native_error.argtypes = []
88
91
  error_message = get_native_error()
89
92
  raise RuntimeError(
90
- "Javonet set config source result: " + str(set_config_result) + ". Native error message: " + str(error_message))
93
+ "Javonet set config source result: " + str(set_config_result) + ". Native error message: " + str(
94
+ error_message))
91
95
  else:
92
96
  return set_config_result
@@ -39,3 +39,7 @@ class CommandType(Enum):
39
39
  EnableNamespace = 34
40
40
  EnableType = 35
41
41
  CreateNull = 36
42
+ GetStaticMethodAsDelegate = 37
43
+ GetInstanceMethodAsDelegate = 38
44
+ PassDelegate = 39
45
+ InvokeDelegate = 40
@@ -0,0 +1,30 @@
1
+ import platform
2
+ import os
3
+ import sys
4
+
5
+
6
+ class RuntimeLogger:
7
+
8
+ not_logged_yet = True
9
+ @staticmethod
10
+ def get_runtime_info():
11
+ try:
12
+ return (
13
+ "Python Managed Runtime Info:\n"
14
+ f"Python Version: {platform.python_version()}\n"
15
+ f"Python executable path: {sys.executable}\n"
16
+ f"Python Path: {sys.path}\n"
17
+ f"Python Implementation: {platform.python_implementation()}\n"
18
+ f"OS Version: {platform.system()} {platform.version()}\n"
19
+ f"Process Architecture: {platform.machine()}\n"
20
+ f"Current Directory: {os.getcwd()}\n"
21
+ )
22
+ except Exception as e:
23
+ return "Python Managed Runtime Info: Error while fetching runtime info"
24
+
25
+ @staticmethod
26
+ def print_runtime_info():
27
+ if RuntimeLogger.not_logged_yet:
28
+ print(RuntimeLogger.get_runtime_info())
29
+ RuntimeLogger.not_logged_yet = False
30
+