javonet-ruby-sdk 2.6.10 → 2.6.11

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 (429) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -4
  3. data/README.md +1 -1
  4. data/Rakefile +38 -30
  5. data/VERSION +1 -1
  6. data/javonet-ruby-sdk.gemspec +38 -38
  7. data/lib/javonet-ruby-sdk/Binaries/Clr/Javonet.Clr.Utils.dll +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Clr/JavonetClrRuntime.dll +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
  10. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libConfigs.so +0 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
  12. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetCppRuntimeNative.so +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetGoRuntimeNative.so +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
  15. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetNetcoreRuntimeNative.so +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetPhpRuntimeNative.so +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetPythonRuntimeNative.so +0 -0
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRubyRuntimeNative.so +0 -0
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpClient.so +0 -0
  20. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpTlsClient.so +0 -0
  21. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/version.txt +1 -1
  23. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libConfigs.so +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs2218RuntimeNative.so +0 -0
  30. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerl534RuntimeNative.so +0 -0
  32. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPhp848RuntimeNative.so +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPhpRuntimeNative.so +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPython2RuntimeNative.so +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  37. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpClient.so +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpTlsClient.so +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  41. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
  42. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libConfigs.dylib +0 -0
  43. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetActivationService.dylib +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetCppRuntimeNative.dylib +0 -0
  45. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetGoRuntimeNative.dylib +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetJvmRuntimeNative.dylib +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  48. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetPythonRuntimeNative.dylib +0 -0
  49. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetRubyRuntimeNative.dylib +0 -0
  50. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetTcpClient.dylib +0 -0
  51. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetTcpTlsClient.dylib +0 -0
  52. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libUtils.dylib +0 -0
  53. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/version.txt +1 -1
  54. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libConfigs.dylib +0 -0
  55. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
  56. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  57. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  58. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  59. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  60. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs2218RuntimeNative.dylib +0 -0
  61. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  62. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  63. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPhp848RuntimeNative.dylib +0 -0
  64. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPhpRuntimeNative.dylib +0 -0
  65. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  66. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  67. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpClient.dylib +0 -0
  68. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpTlsClient.dylib +0 -0
  69. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  70. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
  71. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Configs.dll +0 -0
  72. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
  73. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
  74. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
  75. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
  76. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
  77. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPhpRuntimeNative.dll +0 -0
  78. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
  79. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
  80. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
  81. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
  82. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
  83. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/version.txt +0 -0
  84. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Configs.dll +0 -0
  85. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  86. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  87. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  88. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  89. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  90. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  91. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs2218RuntimeNative.dll +0 -0
  92. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  93. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  94. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPhp848RuntimeNative.dll +0 -0
  95. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPhpRuntimeNative.dll +0 -0
  96. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPython2RuntimeNative.dll +0 -0
  97. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  98. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  99. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
  100. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
  101. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  102. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
  103. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Configs.dll +0 -0
  104. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
  105. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
  106. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
  107. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
  108. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
  109. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
  110. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPhpRuntimeNative.dll +0 -0
  111. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPython2RuntimeNative.dll +0 -0
  112. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
  113. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
  114. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
  115. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Utils.dll +0 -0
  116. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/version.txt +1 -1
  117. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
  118. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Plugins.dll +0 -0
  119. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
  120. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/Handler.cjs +12 -10
  121. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/PassDelegateHandler.cjs +13 -5
  122. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/interpreter/Interpreter.cjs +4 -13
  123. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/protocol/CommandDeserializer.cjs +1 -1
  124. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/protocol/CommandSerializer.cjs +5 -5
  125. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/receiver/Receiver.cjs +4 -7
  126. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/InvocationContext.cjs +5 -7
  127. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/Javonet.cjs +3 -1
  128. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/RuntimeContext.cjs +29 -11
  129. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/RuntimeFactory.cjs +0 -22
  130. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/Handler.d.ts +11 -11
  131. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/PassDelegateHandler.d.ts +0 -5
  132. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/interpreter/Interpreter.d.ts +2 -7
  133. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/protocol/CommandSerializer.d.ts +2 -2
  134. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/receiver/Receiver.d.ts +0 -1
  135. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/Javonet.d.ts +2 -2
  136. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/RuntimeContext.d.ts +8 -3
  137. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/RuntimeFactory.d.ts +0 -8
  138. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
  139. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
  140. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
  141. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
  142. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  143. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
  144. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
  145. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
  146. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  147. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/lib/libplfill.so +0 -0
  148. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +96 -96
  149. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/PerlHandler.pm +1 -1
  150. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Interpreter/Interpreter.pm +6 -14
  151. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/CommandDeserializer.pm +196 -190
  152. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +13 -14
  153. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/TypeDeserializer.pm +11 -12
  154. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/TypeSerializer.pm +17 -20
  155. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Receiver/Receiver.pm +4 -3
  156. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommand.pm +166 -54
  157. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +0 -2
  158. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +0 -1
  159. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-events.bat +0 -0
  160. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-highlight.bat +0 -0
  161. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load-dump.bat +0 -0
  162. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load.bat +0 -0
  163. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-parse-emit.bat +0 -0
  164. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  165. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  166. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
  167. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  168. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  169. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +25 -25
  170. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/PerlHandler.pm +1 -1
  171. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Interpreter/Interpreter.pm +6 -14
  172. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/CommandDeserializer.pm +196 -190
  173. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +13 -14
  174. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/TypeDeserializer.pm +11 -12
  175. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/TypeSerializer.pm +17 -20
  176. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Receiver/Receiver.pm +4 -3
  177. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommand.pm +166 -54
  178. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +0 -2
  179. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +0 -1
  180. data/lib/javonet-ruby-sdk/Binaries/Php/composer.json +6 -5
  181. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/handler/AbstractHandler.php +1 -2
  182. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/handler/Handler.php +74 -58
  183. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/handler/LoadLibraryHandler.php +110 -0
  184. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/interpreter/Interpreter.php +25 -23
  185. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/protocol/CommandSerializer.php +5 -5
  186. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/receiver/Receiver.php +7 -4
  187. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/Command.php +86 -22
  188. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/DynamicMethodFactory.php +1 -2
  189. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/ExceptionSerializer.php +15 -1
  190. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/RuntimeNameHandler.php +32 -0
  191. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/UtilsConst.php +6 -3
  192. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/IConnectionData.php +1 -1
  193. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/InMemoryConnectionData.php +1 -1
  194. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/TcpConnectionData.php +6 -1
  195. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/WsConnectionData.php +1 -1
  196. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/callback/callbackFunc.py +4 -4
  197. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/Handler.py +72 -52
  198. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/PassDelegateHandler.py +1 -1
  199. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/Interpreter.py +13 -13
  200. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandDeserializer.py +143 -155
  201. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py +7 -5
  202. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/Receiver.py +64 -21
  203. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/Command.py +114 -45
  204. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/callback/callbackFunc.py +2 -3
  205. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/GetKwargHandler.py +5 -0
  206. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/Handler.py +30 -12
  207. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/InvokeDelegateHandler.py +2 -2
  208. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/InvokeGlobalFunctionHandler.py +2 -2
  209. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/interpreter/Interpreter.py +9 -9
  210. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/protocol/CommandDeserializer.py +149 -130
  211. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/protocol/CommandSerializer.py +21 -17
  212. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/receiver/Receiver.py +11 -10
  213. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/Command.py +89 -24
  214. data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
  215. data/lib/javonet-ruby-sdk/core/handler/abstract_command_handler.rb +23 -23
  216. data/lib/javonet-ruby-sdk/core/handler/abstract_handler.rb +4 -4
  217. data/lib/javonet-ruby-sdk/core/handler/add_event_listener_handler.rb +12 -12
  218. data/lib/javonet-ruby-sdk/core/handler/array_get_item_handler.rb +47 -47
  219. data/lib/javonet-ruby-sdk/core/handler/array_get_rank_handler.rb +22 -22
  220. data/lib/javonet-ruby-sdk/core/handler/array_get_size_handler.rb +36 -36
  221. data/lib/javonet-ruby-sdk/core/handler/array_handler.rb +12 -12
  222. data/lib/javonet-ruby-sdk/core/handler/array_reference_handler.rb +12 -12
  223. data/lib/javonet-ruby-sdk/core/handler/array_set_item_handler.rb +46 -46
  224. data/lib/javonet-ruby-sdk/core/handler/as_kwargs_handler.rb +12 -12
  225. data/lib/javonet-ruby-sdk/core/handler/as_out_handler.rb +12 -12
  226. data/lib/javonet-ruby-sdk/core/handler/as_ref_handler.rb +11 -11
  227. data/lib/javonet-ruby-sdk/core/handler/casting_handler.rb +11 -11
  228. data/lib/javonet-ruby-sdk/core/handler/convert_type_handler.rb +11 -11
  229. data/lib/javonet-ruby-sdk/core/handler/create_class_instance_handler.rb +34 -34
  230. data/lib/javonet-ruby-sdk/core/handler/create_null_handler.rb +12 -12
  231. data/lib/javonet-ruby-sdk/core/handler/destruct_reference_handler.rb +20 -20
  232. data/lib/javonet-ruby-sdk/core/handler/enable_namespace_handler.rb +30 -30
  233. data/lib/javonet-ruby-sdk/core/handler/enable_type_handler.rb +32 -32
  234. data/lib/javonet-ruby-sdk/core/handler/exception_handler.rb +12 -12
  235. data/lib/javonet-ruby-sdk/core/handler/generate_lib_handler.rb +12 -12
  236. data/lib/javonet-ruby-sdk/core/handler/get_async_operation_result_handler.rb +12 -12
  237. data/lib/javonet-ruby-sdk/core/handler/get_enum_item_handler.rb +12 -12
  238. data/lib/javonet-ruby-sdk/core/handler/get_enum_name_handler.rb +12 -12
  239. data/lib/javonet-ruby-sdk/core/handler/get_enum_value_handler.rb +12 -12
  240. data/lib/javonet-ruby-sdk/core/handler/get_global_field_handler.rb +11 -11
  241. data/lib/javonet-ruby-sdk/core/handler/get_instance_field_handler.rb +34 -34
  242. data/lib/javonet-ruby-sdk/core/handler/get_instance_method_as_delegate_handler.rb +11 -11
  243. data/lib/javonet-ruby-sdk/core/handler/get_module_handler.rb +11 -11
  244. data/lib/javonet-ruby-sdk/core/handler/get_ref_value_handler.rb +11 -11
  245. data/lib/javonet-ruby-sdk/core/handler/get_result_type_handler.rb +12 -12
  246. data/lib/javonet-ruby-sdk/core/handler/get_static_field_handler.rb +34 -34
  247. data/lib/javonet-ruby-sdk/core/handler/get_static_method_as_delegate_handler.rb +11 -11
  248. data/lib/javonet-ruby-sdk/core/handler/get_type_handler.rb +70 -71
  249. data/lib/javonet-ruby-sdk/core/handler/handler.rb +227 -225
  250. data/lib/javonet-ruby-sdk/core/handler/handler_dictionary.rb +7 -7
  251. data/lib/javonet-ruby-sdk/core/handler/heartbeat_handler.rb +12 -12
  252. data/lib/javonet-ruby-sdk/core/handler/invoke_delegate_handler.rb +12 -12
  253. data/lib/javonet-ruby-sdk/core/handler/invoke_generic_method_handler.rb +11 -11
  254. data/lib/javonet-ruby-sdk/core/handler/invoke_generic_static_method_handler.rb +12 -12
  255. data/lib/javonet-ruby-sdk/core/handler/invoke_global_function_handler.rb +45 -45
  256. data/lib/javonet-ruby-sdk/core/handler/invoke_instance_method_handler.rb +35 -35
  257. data/lib/javonet-ruby-sdk/core/handler/invoke_static_method_handler.rb +38 -38
  258. data/lib/javonet-ruby-sdk/core/handler/load_library_handler.rb +49 -49
  259. data/lib/javonet-ruby-sdk/core/handler/optimize_handler.rb +12 -12
  260. data/lib/javonet-ruby-sdk/core/handler/pass_delegate_handler.rb +11 -11
  261. data/lib/javonet-ruby-sdk/core/handler/plugin_wrapper_handler.rb +12 -12
  262. data/lib/javonet-ruby-sdk/core/handler/register_for_update_handler.rb +28 -28
  263. data/lib/javonet-ruby-sdk/core/handler/resolve_instance_handler.rb +29 -29
  264. data/lib/javonet-ruby-sdk/core/handler/retrieve_array_handler.rb +12 -12
  265. data/lib/javonet-ruby-sdk/core/handler/set_instance_field_handler.rb +35 -35
  266. data/lib/javonet-ruby-sdk/core/handler/set_static_field_handler.rb +31 -31
  267. data/lib/javonet-ruby-sdk/core/handler/value_for_update_handler.rb +11 -11
  268. data/lib/javonet-ruby-sdk/core/handler/value_handler.rb +6 -6
  269. data/lib/javonet-ruby-sdk/core/interpreter/interpreter.rb +26 -28
  270. data/lib/javonet-ruby-sdk/core/namespace_cache/namespace_cache.rb +42 -42
  271. data/lib/javonet-ruby-sdk/core/protocol/command_deserializer.rb +184 -184
  272. data/lib/javonet-ruby-sdk/core/protocol/command_serializer.rb +36 -36
  273. data/lib/javonet-ruby-sdk/core/protocol/type_deserializer.rb +65 -65
  274. data/lib/javonet-ruby-sdk/core/protocol/type_serializer.rb +120 -120
  275. data/lib/javonet-ruby-sdk/core/receiver/{receiver_new.rb → receiver.rb} +38 -42
  276. data/lib/javonet-ruby-sdk/core/reference_cache/references_cache.rb +39 -39
  277. data/lib/javonet-ruby-sdk/core/transmitter/transmitter.rb +58 -58
  278. data/lib/javonet-ruby-sdk/core/transmitter/transmitter_wrapper.rb +31 -31
  279. data/lib/javonet-ruby-sdk/core/type_cache/type_cache.rb +41 -41
  280. data/lib/javonet-ruby-sdk/core/web_socket_client/web_socket_client.rb +228 -228
  281. data/lib/javonet-ruby-sdk/sdk/config_runtime_factory.rb +132 -132
  282. data/lib/javonet-ruby-sdk/sdk/configuration/config.rb +32 -0
  283. data/lib/javonet-ruby-sdk/sdk/configuration/config_priority.rb +27 -0
  284. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/config_resolver.rb +80 -0
  285. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/connection_string_config_resolver.rb +89 -0
  286. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/json_config_resolver.rb +66 -0
  287. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/yaml_config_resolver.rb +77 -0
  288. data/lib/javonet-ruby-sdk/sdk/configuration/config_source_resolver.rb +70 -0
  289. data/lib/javonet-ruby-sdk/sdk/configuration/configs_dictionary.rb +48 -0
  290. data/lib/javonet-ruby-sdk/sdk/internal/abstract_config_runtime_factory.rb +33 -33
  291. data/lib/javonet-ruby-sdk/sdk/internal/abstract_invocation_context.rb +70 -70
  292. data/lib/javonet-ruby-sdk/sdk/internal/abstract_runtime_context.rb +10 -10
  293. data/lib/javonet-ruby-sdk/sdk/internal/abstract_runtime_factory.rb +37 -37
  294. data/lib/javonet-ruby-sdk/sdk/internal/invocation_context_iterator.rb +27 -27
  295. data/lib/javonet-ruby-sdk/sdk/invocation_context.rb +318 -319
  296. data/lib/javonet-ruby-sdk/sdk/javonet.rb +132 -106
  297. data/lib/javonet-ruby-sdk/sdk/runtime_context.rb +259 -218
  298. data/lib/javonet-ruby-sdk/sdk/runtime_factory.rb +78 -78
  299. data/lib/javonet-ruby-sdk/sdk/tools/activation_helper.rb +37 -37
  300. data/lib/javonet-ruby-sdk/sdk/tools/json_file_resolver.rb +62 -62
  301. data/lib/javonet-ruby-sdk/sdk/tools/sdk_message_helper.rb +71 -71
  302. data/lib/javonet-ruby-sdk/utils/command.rb +79 -93
  303. data/lib/javonet-ruby-sdk/utils/command_type.rb +154 -154
  304. data/lib/javonet-ruby-sdk/utils/connection_type.rb +5 -5
  305. data/lib/javonet-ruby-sdk/utils/exceptions/exception_serializer.rb +116 -116
  306. data/lib/javonet-ruby-sdk/utils/exceptions/exception_thrower.rb +65 -65
  307. data/lib/javonet-ruby-sdk/utils/exceptions/exception_type.rb +10 -10
  308. data/lib/javonet-ruby-sdk/utils/os_helper.rb +21 -21
  309. data/lib/javonet-ruby-sdk/utils/runtime_logger.rb +46 -46
  310. data/lib/javonet-ruby-sdk/utils/runtime_name_handler.rb +71 -40
  311. data/lib/javonet-ruby-sdk/utils/runtime_name_javonet.rb +13 -13
  312. data/lib/javonet-ruby-sdk/utils/string_encoding_mode_javonet.rb +6 -6
  313. data/lib/javonet-ruby-sdk/utils/tcp_connection_data.rb +36 -36
  314. data/lib/javonet-ruby-sdk/utils/type.rb +15 -15
  315. data/lib/javonet-ruby-sdk/utils/types_handler.rb +10 -10
  316. data/lib/javonet-ruby-sdk/utils/ws_connection_data.rb +23 -19
  317. metadata +14 -117
  318. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libcrypto-3-arm64.dll +0 -0
  319. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libssl-3-arm64.dll +0 -0
  320. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxml2.dll +0 -0
  321. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxmlsec-openssl.dll +0 -0
  322. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxmlsec.dll +0 -0
  323. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxslt.dll +0 -0
  324. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libcrypto-3-x64.dll +0 -0
  325. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libssl-3-x64.dll +0 -0
  326. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxml2.dll +0 -0
  327. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxmlsec-openssl.dll +0 -0
  328. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxmlsec.dll +0 -0
  329. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxslt.dll +0 -0
  330. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libcrypto-3.dll +0 -0
  331. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libssl-3.dll +0 -0
  332. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxml2.dll +0 -0
  333. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxmlsec-openssl.dll +0 -0
  334. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxmlsec.dll +0 -0
  335. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxslt.dll +0 -0
  336. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/__pycache__/__init__.cpython-312.pyc +0 -0
  337. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/DelegatesCache.cpython-312.pyc +0 -0
  338. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/__init__.cpython-312.pyc +0 -0
  339. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractCommandHandler.cpython-312.pyc +0 -0
  340. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractHandler.cpython-312.pyc +0 -0
  341. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AddEventListenerHandler.cpython-312.pyc +0 -0
  342. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetItemHandler.cpython-312.pyc +0 -0
  343. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetRankHandler.cpython-312.pyc +0 -0
  344. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetSizeHandler.cpython-312.pyc +0 -0
  345. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayHandler.cpython-312.pyc +0 -0
  346. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayReferenceHandler.cpython-312.pyc +0 -0
  347. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArraySetItemHandler.cpython-312.pyc +0 -0
  348. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AsOutHandler.cpython-312.pyc +0 -0
  349. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AsRefHandler.cpython-312.pyc +0 -0
  350. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CastingHandler.cpython-312.pyc +0 -0
  351. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ConvertTypeHandler.cpython-312.pyc +0 -0
  352. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateClassInstanceHandler.cpython-312.pyc +0 -0
  353. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateNullHandler.cpython-312.pyc +0 -0
  354. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/DestructReferenceHandler.cpython-312.pyc +0 -0
  355. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableNamespaceHandler.cpython-312.pyc +0 -0
  356. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableTypeHandler.cpython-312.pyc +0 -0
  357. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ExceptionHandler.cpython-312.pyc +0 -0
  358. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GenerateLibHandler.cpython-312.pyc +0 -0
  359. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetAsyncOperationResultHandler.cpython-312.pyc +0 -0
  360. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumItemHandler.cpython-312.pyc +0 -0
  361. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumNameHandler.cpython-312.pyc +0 -0
  362. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumValueHandler.cpython-312.pyc +0 -0
  363. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetGlobalFieldHandler.cpython-312.pyc +0 -0
  364. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceFieldHandler.cpython-312.pyc +0 -0
  365. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceMethodAsDelegateHandler.cpython-312.pyc +0 -0
  366. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetKwargHandler.cpython-312.pyc +0 -0
  367. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetModuleHandler.cpython-312.pyc +0 -0
  368. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetRefValueHandler.cpython-312.pyc +0 -0
  369. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetResultTypeHandler.cpython-312.pyc +0 -0
  370. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticFieldHandler.cpython-312.pyc +0 -0
  371. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticMethodAsDelegateHandler.cpython-312.pyc +0 -0
  372. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetTypeHandler.cpython-312.pyc +0 -0
  373. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/Handler.cpython-312.pyc +0 -0
  374. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HandlerDictionary.cpython-312.pyc +0 -0
  375. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HeartBeatHandler.cpython-312.pyc +0 -0
  376. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeDelegateHandler.cpython-312.pyc +0 -0
  377. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGenericMethodHandler.cpython-312.pyc +0 -0
  378. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGenericStaticMethodHandler.cpython-312.pyc +0 -0
  379. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGlobalFunctionHandler.cpython-312.pyc +0 -0
  380. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeInstanceMethodHandler.cpython-312.pyc +0 -0
  381. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeStaticMethodHandler.cpython-312.pyc +0 -0
  382. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/LoadLibraryHandler.cpython-312.pyc +0 -0
  383. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/OptimizeHandler.cpython-312.pyc +0 -0
  384. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PassDelegateHandler.cpython-312.pyc +0 -0
  385. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PluginWrapperHandler.cpython-312.pyc +0 -0
  386. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/RegisterForUpdateHandler.cpython-312.pyc +0 -0
  387. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ResolveInstanceHandler.cpython-312.pyc +0 -0
  388. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/RetrieveArrayHandler.cpython-312.pyc +0 -0
  389. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetInstanceFieldHandler.cpython-312.pyc +0 -0
  390. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetStaticFieldHandler.cpython-312.pyc +0 -0
  391. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueForUpdateHandler.cpython-312.pyc +0 -0
  392. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueHandler.cpython-312.pyc +0 -0
  393. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/__init__.cpython-312.pyc +0 -0
  394. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/Interpreter.cpython-312.pyc +0 -0
  395. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/__init__.cpython-312.pyc +0 -0
  396. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/NamespaceCache.cpython-312.pyc +0 -0
  397. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  398. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-312.pyc +0 -0
  399. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandSerializer.cpython-312.pyc +0 -0
  400. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-312.pyc +0 -0
  401. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeSerializer.cpython-312.pyc +0 -0
  402. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/__init__.cpython-312.pyc +0 -0
  403. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/Receiver.cpython-312.pyc +0 -0
  404. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/__init__.cpython-312.pyc +0 -0
  405. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/ReferencesCache.cpython-312.pyc +0 -0
  406. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  407. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/TypeCache.cpython-312.pyc +0 -0
  408. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/__init__.cpython-312.pyc +0 -0
  409. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Command.cpython-312.pyc +0 -0
  410. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/CommandType.cpython-312.pyc +0 -0
  411. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ConnectionType.cpython-312.pyc +0 -0
  412. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ExceptionType.cpython-312.pyc +0 -0
  413. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/LazyModuleLoader.cpython-312.pyc +0 -0
  414. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeLogger.cpython-312.pyc +0 -0
  415. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeName.cpython-312.pyc +0 -0
  416. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/StringEncodingMode.cpython-312.pyc +0 -0
  417. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Type.cpython-312.pyc +0 -0
  418. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/TypesHandler.cpython-312.pyc +0 -0
  419. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/UtilsConst.cpython-312.pyc +0 -0
  420. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  421. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/IConnectionData.cpython-312.pyc +0 -0
  422. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/InMemoryConnectionData.cpython-312.pyc +0 -0
  423. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/__init__.cpython-312.pyc +0 -0
  424. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-312.pyc +0 -0
  425. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionThrower.cpython-312.pyc +0 -0
  426. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/JavonetException.cpython-312.pyc +0 -0
  427. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/__init__.cpython-312.pyc +0 -0
  428. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/MessageHelper.cpython-312.pyc +0 -0
  429. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/__init__.cpython-312.pyc +0 -0
@@ -60,60 +60,80 @@ from javonet.utils.Command import Command
60
60
 
61
61
 
62
62
  class Handler(AbstractHandler):
63
+ _initialized = False
64
+
65
+ @staticmethod
66
+ def _initialize():
67
+ """Initialize the handler dictionary. Should be called once."""
68
+ if not Handler._initialized:
69
+ handler_dict[CommandType.Value] = ValueHandler()
70
+ handler_dict[CommandType.LoadLibrary] = LoadLibraryHandler()
71
+ handler_dict[CommandType.InvokeStaticMethod] = InvokeStaticMethodHandler()
72
+ handler_dict[CommandType.GetStaticField] = GetStaticFieldHandler()
73
+ handler_dict[CommandType.SetStaticField] = SetStaticFieldHandler()
74
+ handler_dict[CommandType.CreateClassInstance] = CreateClassInstanceHandler()
75
+ handler_dict[CommandType.GetType] = GetTypeHandler()
76
+ handler_dict[CommandType.Reference] = ResolveInstanceHandler()
77
+ handler_dict[CommandType.GetModule] = GetModuleHandler()
78
+ handler_dict[CommandType.InvokeInstanceMethod] = InvokeInstanceMethodHandler()
79
+ handler_dict[CommandType.Exception] = ExceptionHandler()
80
+ handler_dict[CommandType.HeartBeat] = HeartBeatHandler()
81
+ handler_dict[CommandType.Cast] = CastingHandler()
82
+ handler_dict[CommandType.GetInstanceField] = GetInstanceFieldHandler()
83
+ handler_dict[CommandType.Optimize] = OptimizeHandler()
84
+ handler_dict[CommandType.GenerateLib] = GenerateLibHandler()
85
+ handler_dict[CommandType.InvokeGlobalFunction] = InvokeGlobalFunctionHandler()
86
+ handler_dict[CommandType.DestructReference] = DestructReferenceHandler()
87
+ handler_dict[CommandType.ArrayReference] = ArrayReferenceHandler()
88
+ handler_dict[CommandType.ArrayGetItem] = ArrayGetItemHandler()
89
+ handler_dict[CommandType.ArrayGetSize] = ArrayGetSizeHandler()
90
+ handler_dict[CommandType.ArrayGetRank] = ArrayGetRankHandler()
91
+ handler_dict[CommandType.ArraySetItem] = ArraySetItemHandler()
92
+ handler_dict[CommandType.Array] = ArrayHandler()
93
+ handler_dict[CommandType.RetrieveArray] = RetrieveArrayHandler()
94
+ handler_dict[CommandType.SetInstanceField] = SetInstanceFieldHandler()
95
+ handler_dict[CommandType.InvokeGenericStaticMethod] = InvokeGenericStaticMethodHandler()
96
+ handler_dict[CommandType.InvokeGenericMethod] = InvokeGenericMethodHandler()
97
+ handler_dict[CommandType.GetEnumItem] = GetEnumItemHandler()
98
+ handler_dict[CommandType.GetEnumName] = GetEnumNameHandler()
99
+ handler_dict[CommandType.GetEnumValue] = GetEnumValueHandler()
100
+ handler_dict[CommandType.AsRef] = AsRefHandler()
101
+ handler_dict[CommandType.AsOut] = AsOutHandler()
102
+ handler_dict[CommandType.GetRefValue] = GetRefValueHandler()
103
+ handler_dict[CommandType.EnableNamespace] = EnableNamespaceHandler()
104
+ handler_dict[CommandType.EnableType] = EnableTypeHandler()
105
+ handler_dict[CommandType.CreateNull] = CreateNullHandler()
106
+ handler_dict[CommandType.GetStaticMethodAsDelegate] = GetStaticMethodAsDelegateHandler()
107
+ handler_dict[CommandType.GetInstanceMethodAsDelegate] = GetInstanceMethodAsDelegateHandler()
108
+ handler_dict[CommandType.PassDelegate] = PassDelegateHandler()
109
+ handler_dict[CommandType.InvokeDelegate] = InvokeDelegateHandler()
110
+ handler_dict[CommandType.ConvertType] = ConvertTypeHandler()
111
+ handler_dict[CommandType.AddEventListener] = AddEventListenerHandler()
112
+ handler_dict[CommandType.PluginWrapper] = PluginWrapperHandler()
113
+ handler_dict[CommandType.GetAsyncOperationResult] = GetAsyncOperationResultHandler()
114
+ handler_dict[CommandType.AsKwargs] = GetKwargHandler()
115
+ handler_dict[CommandType.GetResultType] = GetResultTypeHandler()
116
+ handler_dict[CommandType.GetGlobalField] = GetGlobalFieldHandler()
117
+ handler_dict[CommandType.RegisterForUpdate] = RegisterForUpdateHandler()
118
+ handler_dict[CommandType.ValueForUpdate] = ValueForUpdateHandler()
119
+ Handler._initialized = True
63
120
 
64
121
  def __init__(self):
65
- handler_dict[CommandType.Value] = ValueHandler()
66
- handler_dict[CommandType.LoadLibrary] = LoadLibraryHandler()
67
- handler_dict[CommandType.InvokeStaticMethod] = InvokeStaticMethodHandler()
68
- handler_dict[CommandType.GetStaticField] = GetStaticFieldHandler()
69
- handler_dict[CommandType.SetStaticField] = SetStaticFieldHandler()
70
- handler_dict[CommandType.CreateClassInstance] = CreateClassInstanceHandler()
71
- handler_dict[CommandType.GetType] = GetTypeHandler()
72
- handler_dict[CommandType.Reference] = ResolveInstanceHandler()
73
- handler_dict[CommandType.GetModule] = GetModuleHandler()
74
- handler_dict[CommandType.InvokeInstanceMethod] = InvokeInstanceMethodHandler()
75
- handler_dict[CommandType.Exception] = ExceptionHandler()
76
- handler_dict[CommandType.HeartBeat] = HeartBeatHandler()
77
- handler_dict[CommandType.Cast] = CastingHandler()
78
- handler_dict[CommandType.GetInstanceField] = GetInstanceFieldHandler()
79
- handler_dict[CommandType.Optimize] = OptimizeHandler()
80
- handler_dict[CommandType.GenerateLib] = GenerateLibHandler()
81
- handler_dict[CommandType.InvokeGlobalFunction] = InvokeGlobalFunctionHandler()
82
- handler_dict[CommandType.DestructReference] = DestructReferenceHandler()
83
- handler_dict[CommandType.ArrayReference] = ArrayReferenceHandler()
84
- handler_dict[CommandType.ArrayGetItem] = ArrayGetItemHandler()
85
- handler_dict[CommandType.ArrayGetSize] = ArrayGetSizeHandler()
86
- handler_dict[CommandType.ArrayGetRank] = ArrayGetRankHandler()
87
- handler_dict[CommandType.ArraySetItem] = ArraySetItemHandler()
88
- handler_dict[CommandType.Array] = ArrayHandler()
89
- handler_dict[CommandType.RetrieveArray] = RetrieveArrayHandler()
90
- handler_dict[CommandType.SetInstanceField] = SetInstanceFieldHandler()
91
- handler_dict[CommandType.InvokeGenericStaticMethod] = InvokeGenericStaticMethodHandler()
92
- handler_dict[CommandType.InvokeGenericMethod] = InvokeGenericMethodHandler()
93
- handler_dict[CommandType.GetEnumItem] = GetEnumItemHandler()
94
- handler_dict[CommandType.GetEnumName] = GetEnumNameHandler()
95
- handler_dict[CommandType.GetEnumValue] = GetEnumValueHandler()
96
- handler_dict[CommandType.AsRef] = AsRefHandler()
97
- handler_dict[CommandType.AsOut] = AsOutHandler()
98
- handler_dict[CommandType.GetRefValue] = GetRefValueHandler()
99
- handler_dict[CommandType.EnableNamespace] = EnableNamespaceHandler()
100
- handler_dict[CommandType.EnableType] = EnableTypeHandler()
101
- handler_dict[CommandType.CreateNull] = CreateNullHandler()
102
- handler_dict[CommandType.GetStaticMethodAsDelegate] = GetStaticMethodAsDelegateHandler()
103
- handler_dict[CommandType.GetInstanceMethodAsDelegate] = GetInstanceMethodAsDelegateHandler()
104
- handler_dict[CommandType.PassDelegate] = PassDelegateHandler()
105
- handler_dict[CommandType.InvokeDelegate] = InvokeDelegateHandler()
106
- handler_dict[CommandType.ConvertType] = ConvertTypeHandler()
107
- handler_dict[CommandType.AddEventListener] = AddEventListenerHandler()
108
- handler_dict[CommandType.PluginWrapper] = PluginWrapperHandler()
109
- handler_dict[CommandType.GetAsyncOperationResult] = GetAsyncOperationResultHandler()
110
- handler_dict[CommandType.AsKwargs] = GetKwargHandler()
111
- handler_dict[CommandType.GetResultType] = GetResultTypeHandler()
112
- handler_dict[CommandType.GetGlobalField] = GetGlobalFieldHandler()
113
- handler_dict[CommandType.RegisterForUpdate] = RegisterForUpdateHandler()
114
- handler_dict[CommandType.ValueForUpdate] = ValueForUpdateHandler()
122
+ """Initialize Handler instance and set up handler dictionary if not already done."""
123
+ Handler._initialize()
124
+
125
+ @staticmethod
126
+ def handle_command(command):
127
+ """
128
+ Handle a command by routing it to the appropriate handler.
129
+
130
+ Args:
131
+ command: The command to handle.
115
132
 
116
- def handle_command(self, command):
133
+ Returns:
134
+ Command: The response command.
135
+ """
136
+ Handler._initialize()
117
137
  try:
118
138
  if command.command_type == CommandType.RetrieveArray:
119
139
  response_array = handler_dict[CommandType.Reference].handle_command(command.payload[0])
@@ -124,7 +144,7 @@ class Handler(AbstractHandler):
124
144
  command = PluginWrapperHandler().handle_command(command)
125
145
 
126
146
  response = handler_dict.get(command.command_type).handle_command(command)
127
- parsed = self.__parse_response(response, command.runtime_name)
147
+ parsed = Handler.__parse_response(response, command.runtime_name)
128
148
 
129
149
  # Append ValueForUpdate commands from RegisterForUpdateHandler contexts
130
150
  contexts = RegisterForUpdateHandler._invocation_contexts.map
@@ -31,7 +31,7 @@ class PassDelegateHandler(AbstractCommandHandler):
31
31
  args_array
32
32
  )
33
33
  from javonet.core.interpreter.Interpreter import Interpreter
34
- response = Interpreter().execute(invoke_delegate_command, InMemoryConnectionData())
34
+ response = Interpreter.execute(invoke_delegate_command, InMemoryConnectionData())
35
35
  if response.command_type == CommandType.Exception:
36
36
  raise Exception("Exception occurred while invoking delegate:\n" + str(ExceptionThrower.throw_exception(response)))
37
37
 
@@ -7,18 +7,17 @@ from javonet.utils.RuntimeName import RuntimeName
7
7
  from javonet.utils.connectionData.IConnectionData import IConnectionData
8
8
  from javonet.utils.messageHelper.MessageHelper import MessageHelper
9
9
 
10
- handler = Handler()
11
-
12
10
 
13
11
  class Interpreter:
14
12
  debug_mode = os.environ.get("JAVONET_DEBUG") == "TRUE"
15
13
 
16
- def execute(self, command, connection_data: IConnectionData):
17
- if self.debug_mode:
14
+ @staticmethod
15
+ def execute(command, connection_data: IConnectionData):
16
+ if Interpreter.debug_mode:
18
17
  print("Sent command: " + str(command))
19
18
  MessageHelper.send_message_to_app_insights("SentCommand", str(command))
20
19
 
21
- message_byte_array = CommandSerializer().serialize(command, connection_data)
20
+ message_byte_array = CommandSerializer.serialize(command, connection_data)
22
21
 
23
22
  if connection_data.connection_type == ConnectionType.WebSocket:
24
23
  from javonet.core.webSocketClient.WebSocketClient import WebSocketClient
@@ -26,29 +25,30 @@ class Interpreter:
26
25
  elif (command.runtime_name == RuntimeName.python) & (
27
26
  connection_data.connection_type == ConnectionType.InMemory):
28
27
  from javonet.core.receiver.Receiver import Receiver
29
- response_byte_array = Receiver().SendCommand(message_byte_array)
28
+ response_byte_array = Receiver.send_command(message_byte_array)
30
29
  else:
31
30
  from javonet.core.transmitter.Transmitter import Transmitter
32
31
  response_byte_array = Transmitter.send_command(message_byte_array)
33
32
 
34
- response = CommandDeserializer(response_byte_array).deserialize()
33
+ response = CommandDeserializer.deserialize(response_byte_array)
35
34
 
36
- if self.debug_mode:
35
+ if Interpreter.debug_mode:
37
36
  print("Response command: " + str(response))
38
37
  MessageHelper.send_message_to_app_insights("ResponseCommand", str(response))
39
38
 
40
39
  return response
41
40
 
42
- def process(self, message_byte_array):
43
- received_command = CommandDeserializer(message_byte_array).deserialize()
41
+ @staticmethod
42
+ def process(message_byte_array):
43
+ received_command = CommandDeserializer.deserialize(message_byte_array)
44
44
 
45
- if self.debug_mode:
45
+ if Interpreter.debug_mode:
46
46
  print("Received command: " + str(received_command))
47
47
  MessageHelper.send_message_to_app_insights("ReceivedCommand", str(received_command))
48
48
 
49
- response = handler.handle_command(received_command)
49
+ response = Handler.handle_command(received_command)
50
50
 
51
- if self.debug_mode:
51
+ if Interpreter.debug_mode:
52
52
  print("Response command: " + str(response))
53
53
  MessageHelper.send_message_to_app_insights("ResponseCommand", str(response))
54
54
 
@@ -6,159 +6,147 @@ from javonet.utils.Type import Type
6
6
  from javonet.utils.StringEncodingMode import StringEncodingMode
7
7
 
8
8
 
9
-
10
9
  class CommandDeserializer:
11
- position = 0
12
- buffer = []
13
- command = 0
14
- buffer_len = 0
15
-
16
- def __init__(self, buffer):
17
- self.buffer = buffer
18
- self.buffer_len = len(buffer)
19
- self.command = Command(RuntimeName(buffer[0]), CommandType(buffer[10]), [])
20
- self.position = 11
21
-
22
- def is_at_end(self):
23
- return self.position == self.buffer_len
24
-
25
- def deserialize(self):
26
- while not self.is_at_end():
27
- self.command = self.command.add_arg_to_payload(self.read_object(self.buffer[self.position]))
28
- return self.command
29
-
30
- # def copy_from(self, bytes_to_copy, elements_to_skip):
31
- # size = len(bytes_to_copy) - elements_to_skip
32
- # new_byte_array = bytes_to_copy[size:]
33
- # return new_byte_array
34
-
35
- def read_object(self, type_num):
36
- type_value = Type(type_num)
37
- switch = {
38
- Type.Command: self.read_command,
39
- Type.JavonetString: self.read_string,
40
- Type.JavonetInteger: self.read_int,
41
- Type.JavonetBoolean: self.read_bool,
42
- Type.JavonetFloat: self.read_float,
43
- Type.JavonetByte: self.read_byte,
44
- Type.JavonetChar: self.read_char,
45
- Type.JavonetLongLong: self.read_longlong,
46
- Type.JavonetDouble: self.read_double,
47
- Type.JavonetUnsignedLongLong: self.read_ullong,
48
- Type.JavonetUnsignedInteger: self.read_uint,
49
- Type.JavonetNoneType: self.read_none
50
- }
51
- func = switch.get(type_value)
52
- if func is None:
53
- raise Exception("Type not supported")
54
- return func()
55
-
56
- def read_command(self):
57
- p = self.position
58
- number_of_elements_in_payload = TypeDeserializer.deserialize_int(self.buffer[p + 1: p + 5])
59
- runtime = self.buffer[p + 5]
60
- command_type = self.buffer[p + 6]
61
- self.position += 7
62
-
63
- payload = [
64
- self.read_object(self.buffer[self.position])
65
- for _ in range(number_of_elements_in_payload)
66
- ]
67
- return Command(RuntimeName(runtime), CommandType(command_type), payload)
68
-
69
- # old implementation
70
- # def read_command(self):
71
- # p = self.position
72
- # number_of_elements_in_payload = TypeDeserializer.deserialize_int(self.buffer[p + 1: p + 5])
73
- # runtime = self.buffer[p + 5]
74
- # command_type = self.buffer[p + 6]
75
- # self.position += 7
76
- # return_command = Command(RuntimeName(runtime), CommandType(command_type), [])
77
- # return self.read_command_recursively(number_of_elements_in_payload, return_command)
78
- #
79
- # def read_command_recursively(self, number_of_elements_in_payload_left, cmd):
80
- # if number_of_elements_in_payload_left == 0:
81
- # return cmd
82
- # else:
83
- # p = self.position
84
- # cmd = cmd.add_arg_to_payload(self.read_object(self.buffer[p]))
85
- # return self.read_command_recursively(number_of_elements_in_payload_left - 1, cmd)
86
-
87
- def read_string(self):
88
- p = self.position
89
- string_encoding_mode = StringEncodingMode(self.buffer[p + 1])
90
- size = TypeDeserializer.deserialize_int(self.buffer[p + 2:p + 6])
91
- self.position += 6
92
- p = self.position
93
- self.position += size
94
- return TypeDeserializer.deserialize_string(string_encoding_mode, self.buffer[p:p + size])
95
-
96
- def read_int(self):
97
- size = 4
98
- self.position += 2
99
- p = self.position
100
- self.position += size
101
- return TypeDeserializer.deserialize_int(self.buffer[p:p + size])
102
-
103
- def read_bool(self):
104
- size = 1
105
- self.position += 2
106
- p = self.position
107
- self.position += size
108
- return TypeDeserializer.deserialize_bool(self.buffer[p:p + size])
109
-
110
- def read_float(self):
111
- size = 4
112
- self.position += 2
113
- p = self.position
114
- self.position += size
115
- return TypeDeserializer.deserialize_float(self.buffer[p:p + size])
116
-
117
- def read_byte(self):
118
- size = 1
119
- self.position += 2
120
- p = self.position
121
- self.position += size
122
- return TypeDeserializer.deserialize_byte(self.buffer[p:p + size])
123
-
124
- def read_char(self):
125
- size = 1
126
- self.position += 2
127
- p = self.position
128
- self.position += size
129
- return TypeDeserializer.deserialize_char(self.buffer[p:p + size])
130
-
131
- def read_longlong(self):
132
- size = 8
133
- self.position += 2
134
- p = self.position
135
- self.position += size
136
- return TypeDeserializer.deserialize_longlong(self.buffer[p:p + size])
137
-
138
- def read_double(self):
139
- size = 8
140
- self.position += 2
141
- p = self.position
142
- self.position += size
143
- return TypeDeserializer.deserialize_double(self.buffer[p:p + size])
144
-
145
- def read_ullong(self):
146
- size = 8
147
- self.position += 2
148
- p = self.position
149
- self.position += size
150
- return TypeDeserializer.deserialize_ullong(self.buffer[p:p + size])
151
-
152
- def read_uint(self):
153
- size = 4
154
- self.position += 2
155
- p = self.position
156
- self.position += size
157
- return TypeDeserializer.deserialize_uint(self.buffer[p:p + size])
158
-
159
- def read_none(self):
160
- size = 1
161
- self.position += 2
162
- p = self.position
163
- self.position += size
164
- return TypeDeserializer.deserialize_none(self.buffer[p:p + size])
10
+ """
11
+ Static class for deserializing commands from byte arrays.
12
+ """
13
+
14
+ @staticmethod
15
+ def deserialize(buffer):
16
+ """
17
+ Deserialize a command from a byte array.
18
+
19
+ Args:
20
+ buffer: The byte array containing the serialized command.
21
+
22
+ Returns:
23
+ Command: The deserialized command.
24
+ """
25
+ buffer_len = len(buffer)
26
+ command = Command(RuntimeName(buffer[0]), CommandType(buffer[10]), [])
27
+ position = 11
28
+
29
+ # Use a list to hold position (mutable reference for nested functions)
30
+ pos_ref = [position]
31
+
32
+ def is_at_end():
33
+ return pos_ref[0] == buffer_len
34
+
35
+ def read_object(type_num):
36
+ type_value = Type(type_num)
37
+ switch = {
38
+ Type.Command: read_command,
39
+ Type.JavonetString: read_string,
40
+ Type.JavonetInteger: read_int,
41
+ Type.JavonetBoolean: read_bool,
42
+ Type.JavonetFloat: read_float,
43
+ Type.JavonetByte: read_byte,
44
+ Type.JavonetChar: read_char,
45
+ Type.JavonetLongLong: read_longlong,
46
+ Type.JavonetDouble: read_double,
47
+ Type.JavonetUnsignedLongLong: read_ullong,
48
+ Type.JavonetUnsignedInteger: read_uint,
49
+ Type.JavonetNoneType: read_none
50
+ }
51
+ func = switch.get(type_value)
52
+ if func is None:
53
+ raise Exception("Type not supported")
54
+ return func()
55
+
56
+ def read_command():
57
+ p = pos_ref[0]
58
+ number_of_elements_in_payload = TypeDeserializer.deserialize_int(buffer[p + 1: p + 5])
59
+ runtime = buffer[p + 5]
60
+ command_type = buffer[p + 6]
61
+ pos_ref[0] += 7
62
+
63
+ payload = [
64
+ read_object(buffer[pos_ref[0]])
65
+ for _ in range(number_of_elements_in_payload)
66
+ ]
67
+ return Command(RuntimeName(runtime), CommandType(command_type), payload)
68
+
69
+ def read_string():
70
+ p = pos_ref[0]
71
+ string_encoding_mode = StringEncodingMode(buffer[p + 1])
72
+ size = TypeDeserializer.deserialize_int(buffer[p + 2:p + 6])
73
+ pos_ref[0] += 6
74
+ p = pos_ref[0]
75
+ pos_ref[0] += size
76
+ return TypeDeserializer.deserialize_string(string_encoding_mode, buffer[p:p + size])
77
+
78
+ def read_int():
79
+ size = 4
80
+ pos_ref[0] += 2
81
+ p = pos_ref[0]
82
+ pos_ref[0] += size
83
+ return TypeDeserializer.deserialize_int(buffer[p:p + size])
84
+
85
+ def read_bool():
86
+ size = 1
87
+ pos_ref[0] += 2
88
+ p = pos_ref[0]
89
+ pos_ref[0] += size
90
+ return TypeDeserializer.deserialize_bool(buffer[p:p + size])
91
+
92
+ def read_float():
93
+ size = 4
94
+ pos_ref[0] += 2
95
+ p = pos_ref[0]
96
+ pos_ref[0] += size
97
+ return TypeDeserializer.deserialize_float(buffer[p:p + size])
98
+
99
+ def read_byte():
100
+ size = 1
101
+ pos_ref[0] += 2
102
+ p = pos_ref[0]
103
+ pos_ref[0] += size
104
+ return TypeDeserializer.deserialize_byte(buffer[p:p + size])
105
+
106
+ def read_char():
107
+ size = 1
108
+ pos_ref[0] += 2
109
+ p = pos_ref[0]
110
+ pos_ref[0] += size
111
+ return TypeDeserializer.deserialize_char(buffer[p:p + size])
112
+
113
+ def read_longlong():
114
+ size = 8
115
+ pos_ref[0] += 2
116
+ p = pos_ref[0]
117
+ pos_ref[0] += size
118
+ return TypeDeserializer.deserialize_longlong(buffer[p:p + size])
119
+
120
+ def read_double():
121
+ size = 8
122
+ pos_ref[0] += 2
123
+ p = pos_ref[0]
124
+ pos_ref[0] += size
125
+ return TypeDeserializer.deserialize_double(buffer[p:p + size])
126
+
127
+ def read_ullong():
128
+ size = 8
129
+ pos_ref[0] += 2
130
+ p = pos_ref[0]
131
+ pos_ref[0] += size
132
+ return TypeDeserializer.deserialize_ullong(buffer[p:p + size])
133
+
134
+ def read_uint():
135
+ size = 4
136
+ pos_ref[0] += 2
137
+ p = pos_ref[0]
138
+ pos_ref[0] += size
139
+ return TypeDeserializer.deserialize_uint(buffer[p:p + size])
140
+
141
+ def read_none():
142
+ size = 1
143
+ pos_ref[0] += 2
144
+ p = pos_ref[0]
145
+ pos_ref[0] += size
146
+ return TypeDeserializer.deserialize_none(buffer[p:p + size])
147
+
148
+ # Main deserialization loop
149
+ while not is_at_end():
150
+ command = command.add_arg_to_payload(read_object(buffer[pos_ref[0]]))
151
+
152
+ return command
@@ -8,7 +8,8 @@ from javonet.utils.TypesHandler import TypesHandler
8
8
  from javonet.utils.connectionData.IConnectionData import IConnectionData
9
9
 
10
10
  class CommandSerializer:
11
- def serialize(self, root_command: Command, connection_data: IConnectionData, runtime_version=0):
11
+ @staticmethod
12
+ def serialize(root_command: Command, connection_data: IConnectionData, runtime_version=0):
12
13
  ms = io.BytesIO()
13
14
 
14
15
  ms.write(bytes([root_command.runtime_name.value, runtime_version]))
@@ -20,18 +21,19 @@ class CommandSerializer:
20
21
 
21
22
  ms.write(bytes([RuntimeName.python.value, root_command.command_type.value]))
22
23
 
23
- self.serialize_recursively(root_command, ms)
24
+ CommandSerializer.serialize_recursively(root_command, ms)
24
25
  return ms.getvalue()
25
26
 
26
- def serialize_recursively(self, command: Command, ms: io.BytesIO):
27
+ @staticmethod
28
+ def serialize_recursively(command: Command, ms: io.BytesIO):
27
29
  for item in command.get_payload():
28
30
  if isinstance(item, Command):
29
31
  ms.write(bytes(TypeSerializer.serialize_command(item)))
30
- self.serialize_recursively(item, ms)
32
+ CommandSerializer.serialize_recursively(item, ms)
31
33
  elif TypesHandler.is_primitive_or_none(item):
32
34
  ms.write(bytes(TypeSerializer.serialize_primitive(item)))
33
35
  else:
34
36
  cached_reference = ReferencesCache().cache_reference(item)
35
37
  ref_command = Command(RuntimeName.python, CommandType.Reference, cached_reference)
36
38
  ms.write(bytes(TypeSerializer.serialize_command(ref_command)))
37
- self.serialize_recursively(ref_command, ms)
39
+ CommandSerializer.serialize_recursively(ref_command, ms)