javonet-ruby-sdk 2.6.10 → 2.6.12

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 (434) 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 +6 -18
  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/Exception/SdkExceptionHelper.pm +3 -3
  150. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/PerlHandler.pm +1 -1
  151. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Interpreter/Interpreter.pm +6 -14
  152. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/CommandDeserializer.pm +198 -136
  153. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +64 -54
  154. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/TypeDeserializer.pm +11 -12
  155. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/TypeSerializer.pm +17 -20
  156. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Receiver/Receiver.pm +4 -3
  157. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommand.pm +166 -54
  158. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +0 -2
  159. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +0 -1
  160. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-events.bat +0 -0
  161. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-highlight.bat +0 -0
  162. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load-dump.bat +0 -0
  163. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load.bat +0 -0
  164. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-parse-emit.bat +0 -0
  165. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  166. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  167. 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
  168. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  169. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  170. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +26 -26
  171. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Exception/SdkExceptionHelper.pm +3 -3
  172. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/PerlHandler.pm +1 -1
  173. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Interpreter/Interpreter.pm +6 -14
  174. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/CommandDeserializer.pm +198 -136
  175. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +64 -54
  176. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/TypeDeserializer.pm +11 -12
  177. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/TypeSerializer.pm +17 -20
  178. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Receiver/Receiver.pm +4 -3
  179. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommand.pm +166 -54
  180. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +0 -2
  181. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +0 -1
  182. data/lib/javonet-ruby-sdk/Binaries/Php/composer.json +6 -5
  183. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/handler/AbstractHandler.php +1 -2
  184. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/handler/Handler.php +74 -58
  185. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/handler/LoadLibraryHandler.php +110 -0
  186. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/interpreter/Interpreter.php +25 -23
  187. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/protocol/CommandSerializer.php +5 -5
  188. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/receiver/Receiver.php +7 -4
  189. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/webSocketClient/WebSocketClient.php +77 -35
  190. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/Command.php +86 -22
  191. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/DynamicMethodFactory.php +1 -2
  192. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/ExceptionSerializer.php +15 -1
  193. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/RuntimeNameHandler.php +32 -0
  194. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/UtilsConst.php +6 -3
  195. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/IConnectionData.php +1 -1
  196. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/InMemoryConnectionData.php +1 -1
  197. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/TcpConnectionData.php +6 -1
  198. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/WsConnectionData.php +1 -1
  199. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/callback/callbackFunc.py +4 -4
  200. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/Handler.py +72 -52
  201. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/PassDelegateHandler.py +1 -1
  202. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/Interpreter.py +13 -13
  203. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandDeserializer.py +143 -155
  204. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py +7 -5
  205. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/Receiver.py +64 -21
  206. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/Command.py +114 -45
  207. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/callback/callbackFunc.py +2 -3
  208. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/ArrayGetItemHandler.py +3 -6
  209. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/ArraySetItemHandler.py +24 -3
  210. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/GetKwargHandler.py +5 -0
  211. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/Handler.py +30 -12
  212. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/InvokeDelegateHandler.py +2 -2
  213. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/InvokeGlobalFunctionHandler.py +2 -2
  214. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/interpreter/Interpreter.py +9 -9
  215. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/protocol/CommandDeserializer.py +137 -180
  216. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/protocol/CommandSerializer.py +32 -28
  217. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/receiver/Receiver.py +11 -10
  218. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/Command.py +89 -24
  219. data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
  220. data/lib/javonet-ruby-sdk/core/handler/abstract_command_handler.rb +23 -23
  221. data/lib/javonet-ruby-sdk/core/handler/abstract_handler.rb +4 -4
  222. data/lib/javonet-ruby-sdk/core/handler/add_event_listener_handler.rb +12 -12
  223. data/lib/javonet-ruby-sdk/core/handler/array_get_item_handler.rb +47 -47
  224. data/lib/javonet-ruby-sdk/core/handler/array_get_rank_handler.rb +22 -22
  225. data/lib/javonet-ruby-sdk/core/handler/array_get_size_handler.rb +36 -36
  226. data/lib/javonet-ruby-sdk/core/handler/array_handler.rb +12 -12
  227. data/lib/javonet-ruby-sdk/core/handler/array_reference_handler.rb +12 -12
  228. data/lib/javonet-ruby-sdk/core/handler/array_set_item_handler.rb +46 -46
  229. data/lib/javonet-ruby-sdk/core/handler/as_kwargs_handler.rb +12 -12
  230. data/lib/javonet-ruby-sdk/core/handler/as_out_handler.rb +12 -12
  231. data/lib/javonet-ruby-sdk/core/handler/as_ref_handler.rb +11 -11
  232. data/lib/javonet-ruby-sdk/core/handler/casting_handler.rb +11 -11
  233. data/lib/javonet-ruby-sdk/core/handler/convert_type_handler.rb +11 -11
  234. data/lib/javonet-ruby-sdk/core/handler/create_class_instance_handler.rb +34 -34
  235. data/lib/javonet-ruby-sdk/core/handler/create_null_handler.rb +12 -12
  236. data/lib/javonet-ruby-sdk/core/handler/destruct_reference_handler.rb +20 -20
  237. data/lib/javonet-ruby-sdk/core/handler/enable_namespace_handler.rb +30 -30
  238. data/lib/javonet-ruby-sdk/core/handler/enable_type_handler.rb +32 -32
  239. data/lib/javonet-ruby-sdk/core/handler/exception_handler.rb +12 -12
  240. data/lib/javonet-ruby-sdk/core/handler/generate_lib_handler.rb +12 -12
  241. data/lib/javonet-ruby-sdk/core/handler/get_async_operation_result_handler.rb +12 -12
  242. data/lib/javonet-ruby-sdk/core/handler/get_enum_item_handler.rb +12 -12
  243. data/lib/javonet-ruby-sdk/core/handler/get_enum_name_handler.rb +12 -12
  244. data/lib/javonet-ruby-sdk/core/handler/get_enum_value_handler.rb +12 -12
  245. data/lib/javonet-ruby-sdk/core/handler/get_global_field_handler.rb +11 -11
  246. data/lib/javonet-ruby-sdk/core/handler/get_instance_field_handler.rb +34 -34
  247. data/lib/javonet-ruby-sdk/core/handler/get_instance_method_as_delegate_handler.rb +11 -11
  248. data/lib/javonet-ruby-sdk/core/handler/get_module_handler.rb +11 -11
  249. data/lib/javonet-ruby-sdk/core/handler/get_ref_value_handler.rb +11 -11
  250. data/lib/javonet-ruby-sdk/core/handler/get_result_type_handler.rb +12 -12
  251. data/lib/javonet-ruby-sdk/core/handler/get_static_field_handler.rb +34 -34
  252. data/lib/javonet-ruby-sdk/core/handler/get_static_method_as_delegate_handler.rb +11 -11
  253. data/lib/javonet-ruby-sdk/core/handler/get_type_handler.rb +70 -71
  254. data/lib/javonet-ruby-sdk/core/handler/handler.rb +227 -225
  255. data/lib/javonet-ruby-sdk/core/handler/handler_dictionary.rb +7 -7
  256. data/lib/javonet-ruby-sdk/core/handler/heartbeat_handler.rb +12 -12
  257. data/lib/javonet-ruby-sdk/core/handler/invoke_delegate_handler.rb +12 -12
  258. data/lib/javonet-ruby-sdk/core/handler/invoke_generic_method_handler.rb +11 -11
  259. data/lib/javonet-ruby-sdk/core/handler/invoke_generic_static_method_handler.rb +12 -12
  260. data/lib/javonet-ruby-sdk/core/handler/invoke_global_function_handler.rb +45 -45
  261. data/lib/javonet-ruby-sdk/core/handler/invoke_instance_method_handler.rb +35 -35
  262. data/lib/javonet-ruby-sdk/core/handler/invoke_static_method_handler.rb +38 -38
  263. data/lib/javonet-ruby-sdk/core/handler/load_library_handler.rb +49 -49
  264. data/lib/javonet-ruby-sdk/core/handler/optimize_handler.rb +12 -12
  265. data/lib/javonet-ruby-sdk/core/handler/pass_delegate_handler.rb +11 -11
  266. data/lib/javonet-ruby-sdk/core/handler/plugin_wrapper_handler.rb +12 -12
  267. data/lib/javonet-ruby-sdk/core/handler/register_for_update_handler.rb +28 -28
  268. data/lib/javonet-ruby-sdk/core/handler/resolve_instance_handler.rb +29 -29
  269. data/lib/javonet-ruby-sdk/core/handler/retrieve_array_handler.rb +12 -12
  270. data/lib/javonet-ruby-sdk/core/handler/set_instance_field_handler.rb +35 -35
  271. data/lib/javonet-ruby-sdk/core/handler/set_static_field_handler.rb +31 -31
  272. data/lib/javonet-ruby-sdk/core/handler/value_for_update_handler.rb +11 -11
  273. data/lib/javonet-ruby-sdk/core/handler/value_handler.rb +6 -6
  274. data/lib/javonet-ruby-sdk/core/interpreter/interpreter.rb +26 -28
  275. data/lib/javonet-ruby-sdk/core/namespace_cache/namespace_cache.rb +42 -42
  276. data/lib/javonet-ruby-sdk/core/protocol/command_deserializer.rb +184 -184
  277. data/lib/javonet-ruby-sdk/core/protocol/command_serializer.rb +36 -36
  278. data/lib/javonet-ruby-sdk/core/protocol/type_deserializer.rb +65 -65
  279. data/lib/javonet-ruby-sdk/core/protocol/type_serializer.rb +120 -120
  280. data/lib/javonet-ruby-sdk/core/receiver/{receiver_new.rb → receiver.rb} +38 -42
  281. data/lib/javonet-ruby-sdk/core/reference_cache/references_cache.rb +39 -39
  282. data/lib/javonet-ruby-sdk/core/transmitter/transmitter.rb +58 -58
  283. data/lib/javonet-ruby-sdk/core/transmitter/transmitter_wrapper.rb +31 -31
  284. data/lib/javonet-ruby-sdk/core/type_cache/type_cache.rb +41 -41
  285. data/lib/javonet-ruby-sdk/core/web_socket_client/web_socket_client.rb +228 -228
  286. data/lib/javonet-ruby-sdk/sdk/config_runtime_factory.rb +132 -132
  287. data/lib/javonet-ruby-sdk/sdk/configuration/config.rb +32 -0
  288. data/lib/javonet-ruby-sdk/sdk/configuration/config_priority.rb +27 -0
  289. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/config_resolver.rb +80 -0
  290. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/connection_string_config_resolver.rb +89 -0
  291. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/json_config_resolver.rb +66 -0
  292. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/yaml_config_resolver.rb +77 -0
  293. data/lib/javonet-ruby-sdk/sdk/configuration/config_source_resolver.rb +70 -0
  294. data/lib/javonet-ruby-sdk/sdk/configuration/configs_dictionary.rb +48 -0
  295. data/lib/javonet-ruby-sdk/sdk/internal/abstract_config_runtime_factory.rb +33 -33
  296. data/lib/javonet-ruby-sdk/sdk/internal/abstract_invocation_context.rb +70 -70
  297. data/lib/javonet-ruby-sdk/sdk/internal/abstract_runtime_context.rb +10 -10
  298. data/lib/javonet-ruby-sdk/sdk/internal/abstract_runtime_factory.rb +37 -37
  299. data/lib/javonet-ruby-sdk/sdk/internal/invocation_context_iterator.rb +27 -27
  300. data/lib/javonet-ruby-sdk/sdk/invocation_context.rb +314 -319
  301. data/lib/javonet-ruby-sdk/sdk/javonet.rb +132 -106
  302. data/lib/javonet-ruby-sdk/sdk/runtime_context.rb +259 -218
  303. data/lib/javonet-ruby-sdk/sdk/runtime_factory.rb +78 -78
  304. data/lib/javonet-ruby-sdk/sdk/tools/activation_helper.rb +37 -37
  305. data/lib/javonet-ruby-sdk/sdk/tools/json_file_resolver.rb +62 -62
  306. data/lib/javonet-ruby-sdk/sdk/tools/sdk_message_helper.rb +71 -71
  307. data/lib/javonet-ruby-sdk/utils/command.rb +79 -93
  308. data/lib/javonet-ruby-sdk/utils/command_type.rb +154 -154
  309. data/lib/javonet-ruby-sdk/utils/connection_type.rb +5 -5
  310. data/lib/javonet-ruby-sdk/utils/exceptions/exception_serializer.rb +116 -116
  311. data/lib/javonet-ruby-sdk/utils/exceptions/exception_thrower.rb +65 -65
  312. data/lib/javonet-ruby-sdk/utils/exceptions/exception_type.rb +10 -10
  313. data/lib/javonet-ruby-sdk/utils/os_helper.rb +21 -21
  314. data/lib/javonet-ruby-sdk/utils/runtime_logger.rb +46 -46
  315. data/lib/javonet-ruby-sdk/utils/runtime_name_handler.rb +71 -40
  316. data/lib/javonet-ruby-sdk/utils/runtime_name_javonet.rb +13 -13
  317. data/lib/javonet-ruby-sdk/utils/string_encoding_mode_javonet.rb +6 -6
  318. data/lib/javonet-ruby-sdk/utils/tcp_connection_data.rb +36 -36
  319. data/lib/javonet-ruby-sdk/utils/type.rb +15 -15
  320. data/lib/javonet-ruby-sdk/utils/types_handler.rb +10 -10
  321. data/lib/javonet-ruby-sdk/utils/ws_connection_data.rb +23 -19
  322. metadata +14 -117
  323. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libcrypto-3-arm64.dll +0 -0
  324. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libssl-3-arm64.dll +0 -0
  325. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxml2.dll +0 -0
  326. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxmlsec-openssl.dll +0 -0
  327. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxmlsec.dll +0 -0
  328. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxslt.dll +0 -0
  329. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libcrypto-3-x64.dll +0 -0
  330. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libssl-3-x64.dll +0 -0
  331. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxml2.dll +0 -0
  332. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxmlsec-openssl.dll +0 -0
  333. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxmlsec.dll +0 -0
  334. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxslt.dll +0 -0
  335. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libcrypto-3.dll +0 -0
  336. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libssl-3.dll +0 -0
  337. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxml2.dll +0 -0
  338. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxmlsec-openssl.dll +0 -0
  339. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxmlsec.dll +0 -0
  340. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxslt.dll +0 -0
  341. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/__pycache__/__init__.cpython-312.pyc +0 -0
  342. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/DelegatesCache.cpython-312.pyc +0 -0
  343. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/__init__.cpython-312.pyc +0 -0
  344. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractCommandHandler.cpython-312.pyc +0 -0
  345. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractHandler.cpython-312.pyc +0 -0
  346. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AddEventListenerHandler.cpython-312.pyc +0 -0
  347. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetItemHandler.cpython-312.pyc +0 -0
  348. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetRankHandler.cpython-312.pyc +0 -0
  349. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetSizeHandler.cpython-312.pyc +0 -0
  350. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayHandler.cpython-312.pyc +0 -0
  351. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayReferenceHandler.cpython-312.pyc +0 -0
  352. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArraySetItemHandler.cpython-312.pyc +0 -0
  353. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AsOutHandler.cpython-312.pyc +0 -0
  354. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AsRefHandler.cpython-312.pyc +0 -0
  355. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CastingHandler.cpython-312.pyc +0 -0
  356. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ConvertTypeHandler.cpython-312.pyc +0 -0
  357. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateClassInstanceHandler.cpython-312.pyc +0 -0
  358. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateNullHandler.cpython-312.pyc +0 -0
  359. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/DestructReferenceHandler.cpython-312.pyc +0 -0
  360. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableNamespaceHandler.cpython-312.pyc +0 -0
  361. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableTypeHandler.cpython-312.pyc +0 -0
  362. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ExceptionHandler.cpython-312.pyc +0 -0
  363. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GenerateLibHandler.cpython-312.pyc +0 -0
  364. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetAsyncOperationResultHandler.cpython-312.pyc +0 -0
  365. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumItemHandler.cpython-312.pyc +0 -0
  366. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumNameHandler.cpython-312.pyc +0 -0
  367. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumValueHandler.cpython-312.pyc +0 -0
  368. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetGlobalFieldHandler.cpython-312.pyc +0 -0
  369. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceFieldHandler.cpython-312.pyc +0 -0
  370. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceMethodAsDelegateHandler.cpython-312.pyc +0 -0
  371. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetKwargHandler.cpython-312.pyc +0 -0
  372. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetModuleHandler.cpython-312.pyc +0 -0
  373. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetRefValueHandler.cpython-312.pyc +0 -0
  374. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetResultTypeHandler.cpython-312.pyc +0 -0
  375. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticFieldHandler.cpython-312.pyc +0 -0
  376. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticMethodAsDelegateHandler.cpython-312.pyc +0 -0
  377. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetTypeHandler.cpython-312.pyc +0 -0
  378. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/Handler.cpython-312.pyc +0 -0
  379. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HandlerDictionary.cpython-312.pyc +0 -0
  380. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HeartBeatHandler.cpython-312.pyc +0 -0
  381. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeDelegateHandler.cpython-312.pyc +0 -0
  382. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGenericMethodHandler.cpython-312.pyc +0 -0
  383. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGenericStaticMethodHandler.cpython-312.pyc +0 -0
  384. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGlobalFunctionHandler.cpython-312.pyc +0 -0
  385. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeInstanceMethodHandler.cpython-312.pyc +0 -0
  386. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeStaticMethodHandler.cpython-312.pyc +0 -0
  387. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/LoadLibraryHandler.cpython-312.pyc +0 -0
  388. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/OptimizeHandler.cpython-312.pyc +0 -0
  389. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PassDelegateHandler.cpython-312.pyc +0 -0
  390. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PluginWrapperHandler.cpython-312.pyc +0 -0
  391. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/RegisterForUpdateHandler.cpython-312.pyc +0 -0
  392. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ResolveInstanceHandler.cpython-312.pyc +0 -0
  393. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/RetrieveArrayHandler.cpython-312.pyc +0 -0
  394. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetInstanceFieldHandler.cpython-312.pyc +0 -0
  395. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetStaticFieldHandler.cpython-312.pyc +0 -0
  396. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueForUpdateHandler.cpython-312.pyc +0 -0
  397. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueHandler.cpython-312.pyc +0 -0
  398. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/__init__.cpython-312.pyc +0 -0
  399. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/Interpreter.cpython-312.pyc +0 -0
  400. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/__init__.cpython-312.pyc +0 -0
  401. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/NamespaceCache.cpython-312.pyc +0 -0
  402. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  403. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-312.pyc +0 -0
  404. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandSerializer.cpython-312.pyc +0 -0
  405. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-312.pyc +0 -0
  406. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeSerializer.cpython-312.pyc +0 -0
  407. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/__init__.cpython-312.pyc +0 -0
  408. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/Receiver.cpython-312.pyc +0 -0
  409. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/__init__.cpython-312.pyc +0 -0
  410. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/ReferencesCache.cpython-312.pyc +0 -0
  411. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  412. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/TypeCache.cpython-312.pyc +0 -0
  413. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/__init__.cpython-312.pyc +0 -0
  414. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Command.cpython-312.pyc +0 -0
  415. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/CommandType.cpython-312.pyc +0 -0
  416. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ConnectionType.cpython-312.pyc +0 -0
  417. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ExceptionType.cpython-312.pyc +0 -0
  418. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/LazyModuleLoader.cpython-312.pyc +0 -0
  419. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeLogger.cpython-312.pyc +0 -0
  420. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeName.cpython-312.pyc +0 -0
  421. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/StringEncodingMode.cpython-312.pyc +0 -0
  422. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Type.cpython-312.pyc +0 -0
  423. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/TypesHandler.cpython-312.pyc +0 -0
  424. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/UtilsConst.cpython-312.pyc +0 -0
  425. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  426. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/IConnectionData.cpython-312.pyc +0 -0
  427. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/InMemoryConnectionData.cpython-312.pyc +0 -0
  428. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/__init__.cpython-312.pyc +0 -0
  429. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-312.pyc +0 -0
  430. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionThrower.cpython-312.pyc +0 -0
  431. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/JavonetException.cpython-312.pyc +0 -0
  432. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/__init__.cpython-312.pyc +0 -0
  433. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/MessageHelper.cpython-312.pyc +0 -0
  434. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/__init__.cpython-312.pyc +0 -0
@@ -7,194 +7,151 @@ from javonet.core.protocol.TypeDeserializer import TypeDeserializer
7
7
  from javonet.utils.Command import Command
8
8
  from javonet.utils.CommandType import CommandType
9
9
  from javonet.utils.RuntimeName import RuntimeName
10
- from javonet.utils.StringEncodingMode import StringEncodingMode
11
10
  from javonet.utils.Type import Type
11
+ from javonet.utils.StringEncodingMode import StringEncodingMode
12
12
 
13
13
 
14
14
  class CommandDeserializer(object):
15
15
  """
16
- Class responsible for command deserialization.
16
+ Static class for deserializing commands from byte arrays.
17
17
  """
18
- position = 0
19
- buffer = []
20
- command = 0
21
- buffer_len = 0
22
-
23
- def __init__(self, buffer):
24
- """
25
- Initializes a new command deserializer.
26
-
27
- :param buffer: Buffer with data to deserialize
28
- """
29
- self.buffer = buffer
30
- self.buffer_len = len(buffer)
31
- if self.buffer_len < 11:
32
- raise ValueError("Buffer too small to contain a command header.")
33
- self.command = Command(RuntimeName(buffer[0]), CommandType(buffer[10]), [])
34
- self.position = 11
35
-
36
- def is_at_end(self):
37
- """
38
- Checks if the end of buffer has been reached.
39
-
40
- :return: True if end of buffer is reached, False otherwise
41
- """
42
- return self.position >= self.buffer_len
43
-
44
- def deserialize(self):
45
- """
46
- Deserializes a command.
47
18
 
48
- :return: Deserialized command
19
+ @staticmethod
20
+ def deserialize(buffer):
49
21
  """
50
- while not self.is_at_end():
51
- self.command = self.command.add_arg_to_payload(self.read_object(self.buffer[self.position]))
52
- return self.command
22
+ Deserialize a command from a byte array.
53
23
 
54
- def _check_buffer(self, required_size):
55
- """Checks if there are enough bytes left in the buffer."""
56
- if self.position + required_size > self.buffer_len:
57
- raise IndexError("Not enough data in buffer to read next value.")
58
-
59
- def read_object(self, type_num):
60
- """
61
- Reads an object from the buffer based on its type.
62
-
63
- :param type_num: Type number
64
- :return: Read object
65
- """
66
- type_value = Type(type_num)
67
- switch = {
68
- Type.Command: self.read_command,
69
- Type.JavonetString: self.read_string,
70
- Type.JavonetInteger: self.read_int,
71
- Type.JavonetBoolean: self.read_bool,
72
- Type.JavonetFloat: self.read_float,
73
- Type.JavonetByte: self.read_byte,
74
- Type.JavonetChar: self.read_char,
75
- Type.JavonetLongLong: self.read_longlong,
76
- Type.JavonetDouble: self.read_double,
77
- Type.JavonetUnsignedLongLong: self.read_ullong,
78
- Type.JavonetUnsignedInteger: self.read_uint,
79
- Type.JavonetNoneType: self.read_none
80
- }
81
- func = switch.get(type_value)
82
- if func is None:
83
- raise ValueError("Type not supported: " + str(type_num))
84
- return func()
85
-
86
- def read_command(self):
87
- """
88
- Reads a command from the buffer.
89
-
90
- :return: Read command
91
- """
92
- self._check_buffer(7)
93
- p = self.position
94
- number_of_elements_in_payload = TypeDeserializer.deserialize_int(self.buffer[p + 1: p + 5])
95
- runtime = self.buffer[p + 5]
96
- command_type = self.buffer[p + 6]
97
- self.position += 7
98
-
99
- payload = []
100
- for _ in xrange(number_of_elements_in_payload):
101
- payload.append(self.read_object(self.buffer[self.position]))
102
-
103
- return Command(RuntimeName(runtime), CommandType(command_type), payload)
104
-
105
- def read_string(self):
106
- """
107
- Reads a string from the buffer.
24
+ Args:
25
+ buffer: The byte array containing the serialized command.
108
26
 
109
- :return: Read string
27
+ Returns:
28
+ Command: The deserialized command.
110
29
  """
111
- self._check_buffer(6)
112
- p = self.position
113
- string_encoding_mode = StringEncodingMode(self.buffer[p + 1])
114
- size = TypeDeserializer.deserialize_int(self.buffer[p + 2:p + 6])
115
- self.position += 6
116
- self._check_buffer(size)
117
- p = self.position
118
- self.position += size
119
- return TypeDeserializer.deserialize_string(string_encoding_mode, self.buffer[p:p + size])
120
-
121
- def read_int(self):
122
- size = 4
123
- self._check_buffer(size + 2)
124
- self.position += 2
125
- p = self.position
126
- self.position += size
127
- return TypeDeserializer.deserialize_int(self.buffer[p:p + size])
128
-
129
- def read_bool(self):
130
- size = 1
131
- self._check_buffer(size + 2)
132
- self.position += 2
133
- p = self.position
134
- self.position += size
135
- return TypeDeserializer.deserialize_bool(self.buffer[p:p + size])
136
-
137
- def read_float(self):
138
- size = 4
139
- self._check_buffer(size + 2)
140
- self.position += 2
141
- p = self.position
142
- self.position += size
143
- return TypeDeserializer.deserialize_float(self.buffer[p:p + size])
144
-
145
- def read_byte(self):
146
- size = 1
147
- self._check_buffer(size + 2)
148
- self.position += 2
149
- p = self.position
150
- self.position += size
151
- return TypeDeserializer.deserialize_byte(self.buffer[p:p + size])
152
-
153
- def read_char(self):
154
- size = 1
155
- self._check_buffer(size + 2)
156
- self.position += 2
157
- p = self.position
158
- self.position += size
159
- return TypeDeserializer.deserialize_char(self.buffer[p:p + size])
160
-
161
- def read_longlong(self):
162
- size = 8
163
- self._check_buffer(size + 2)
164
- self.position += 2
165
- p = self.position
166
- self.position += size
167
- return TypeDeserializer.deserialize_longlong(self.buffer[p:p + size])
168
-
169
- def read_double(self):
170
- size = 8
171
- self._check_buffer(size + 2)
172
- self.position += 2
173
- p = self.position
174
- self.position += size
175
-
176
- return TypeDeserializer.deserialize_double(self.buffer[p:p + size])
177
-
178
- def read_ullong(self):
179
- size = 8
180
- self._check_buffer(size + 2)
181
- self.position += 2
182
- p = self.position
183
- self.position += size
184
- return TypeDeserializer.deserialize_ullong(self.buffer[p:p + size])
185
-
186
- def read_uint(self):
187
- size = 4
188
- self._check_buffer(size + 2)
189
- self.position += 2
190
- p = self.position
191
- self.position += size
192
- return TypeDeserializer.deserialize_uint(self.buffer[p:p + size])
193
-
194
- def read_none(self):
195
- size = 1
196
- self._check_buffer(size + 2)
197
- self.position += 2
198
- p = self.position
199
- self.position += size
200
- return TypeDeserializer.deserialize_none(self.buffer[p:p + size])
30
+ buffer_len = len(buffer)
31
+ command = Command(RuntimeName(buffer[0]), CommandType(buffer[10]), [])
32
+ position = 11
33
+
34
+ # Use a list to hold position (mutable reference for nested functions)
35
+ pos_ref = [position]
36
+
37
+ def is_at_end():
38
+ return pos_ref[0] == buffer_len
39
+
40
+ def read_object(type_num):
41
+ type_value = Type(type_num)
42
+ switch = {
43
+ Type.Command: read_command,
44
+ Type.JavonetString: read_string,
45
+ Type.JavonetInteger: read_int,
46
+ Type.JavonetBoolean: read_bool,
47
+ Type.JavonetFloat: read_float,
48
+ Type.JavonetByte: read_byte,
49
+ Type.JavonetChar: read_char,
50
+ Type.JavonetLongLong: read_longlong,
51
+ Type.JavonetDouble: read_double,
52
+ Type.JavonetUnsignedLongLong: read_ullong,
53
+ Type.JavonetUnsignedInteger: read_uint,
54
+ Type.JavonetNoneType: read_none
55
+ }
56
+ func = switch.get(type_value)
57
+ if func is None:
58
+ raise Exception("Type not supported")
59
+ return func()
60
+
61
+ def read_command():
62
+ p = pos_ref[0]
63
+ number_of_elements_in_payload = TypeDeserializer.deserialize_int(buffer[p + 1: p + 5])
64
+ runtime = buffer[p + 5]
65
+ command_type = buffer[p + 6]
66
+ pos_ref[0] += 7
67
+
68
+ payload = [
69
+ read_object(buffer[pos_ref[0]])
70
+ for _ in range(number_of_elements_in_payload)
71
+ ]
72
+ return Command(RuntimeName(runtime), CommandType(command_type), payload)
73
+
74
+ def read_string():
75
+ p = pos_ref[0]
76
+ string_encoding_mode = StringEncodingMode(buffer[p + 1])
77
+ size = TypeDeserializer.deserialize_int(buffer[p + 2:p + 6])
78
+ pos_ref[0] += 6
79
+ p = pos_ref[0]
80
+ pos_ref[0] += size
81
+ return TypeDeserializer.deserialize_string(string_encoding_mode, buffer[p:p + size])
82
+
83
+ def read_int():
84
+ size = 4
85
+ pos_ref[0] += 2
86
+ p = pos_ref[0]
87
+ pos_ref[0] += size
88
+ return TypeDeserializer.deserialize_int(buffer[p:p + size])
89
+
90
+ def read_bool():
91
+ size = 1
92
+ pos_ref[0] += 2
93
+ p = pos_ref[0]
94
+ pos_ref[0] += size
95
+ return TypeDeserializer.deserialize_bool(buffer[p:p + size])
96
+
97
+ def read_float():
98
+ size = 4
99
+ pos_ref[0] += 2
100
+ p = pos_ref[0]
101
+ pos_ref[0] += size
102
+ return TypeDeserializer.deserialize_float(buffer[p:p + size])
103
+
104
+ def read_byte():
105
+ size = 1
106
+ pos_ref[0] += 2
107
+ p = pos_ref[0]
108
+ pos_ref[0] += size
109
+ return TypeDeserializer.deserialize_byte(buffer[p:p + size])
110
+
111
+ def read_char():
112
+ size = 1
113
+ pos_ref[0] += 2
114
+ p = pos_ref[0]
115
+ pos_ref[0] += size
116
+ return TypeDeserializer.deserialize_char(buffer[p:p + size])
117
+
118
+ def read_longlong():
119
+ size = 8
120
+ pos_ref[0] += 2
121
+ p = pos_ref[0]
122
+ pos_ref[0] += size
123
+ return TypeDeserializer.deserialize_longlong(buffer[p:p + size])
124
+
125
+ def read_double():
126
+ size = 8
127
+ pos_ref[0] += 2
128
+ p = pos_ref[0]
129
+ pos_ref[0] += size
130
+ return TypeDeserializer.deserialize_double(buffer[p:p + size])
131
+
132
+ def read_ullong():
133
+ size = 8
134
+ pos_ref[0] += 2
135
+ p = pos_ref[0]
136
+ pos_ref[0] += size
137
+ return TypeDeserializer.deserialize_ullong(buffer[p:p + size])
138
+
139
+ def read_uint():
140
+ size = 4
141
+ pos_ref[0] += 2
142
+ p = pos_ref[0]
143
+ pos_ref[0] += size
144
+ return TypeDeserializer.deserialize_uint(buffer[p:p + size])
145
+
146
+ def read_none():
147
+ size = 1
148
+ pos_ref[0] += 2
149
+ p = pos_ref[0]
150
+ pos_ref[0] += size
151
+ return TypeDeserializer.deserialize_none(buffer[p:p + size])
152
+
153
+ # Main deserialization loop
154
+ while not is_at_end():
155
+ command = command.add_arg_to_payload(read_object(buffer[pos_ref[0]]))
156
+
157
+ return command
@@ -3,59 +3,63 @@
3
3
  The CommandSerializer module implements command serialization.
4
4
  """
5
5
 
6
+ import io
7
+
6
8
  from javonet.core.protocol.TypeSerializer import TypeSerializer
9
+ from javonet.core.referenceCache.ReferencesCache import ReferencesCache
7
10
  from javonet.utils.Command import Command
8
11
  from javonet.utils.CommandType import CommandType
9
12
  from javonet.utils.RuntimeName import RuntimeName
10
- from javonet.utils.connectionData.IConnectionData import IConnectionData
11
13
  from javonet.utils.TypesHandler import TypesHandler
12
- from javonet.core.referenceCache.ReferencesCache import ReferencesCache
14
+ from javonet.utils.connectionData.IConnectionData import IConnectionData
15
+
13
16
 
14
17
  class CommandSerializer(object):
15
18
  """
16
19
  Class responsible for command serialization.
17
20
  """
18
- buffer = []
19
21
 
20
- def serialize(self, root_command, connection_data, runtime_version=0):
22
+ @staticmethod
23
+ def serialize(root_command, connection_data, runtime_version=0):
21
24
  """
22
25
  Serializes a command.
23
26
 
24
27
  :param root_command: Command to serialize
25
28
  :param connection_data: Connection data
26
29
  :param runtime_version: Runtime version
27
- :return: Serialized command
30
+ :return: Serialized command as bytearray
28
31
  """
29
- self.buffer = [] # Reset buffer for each serialization
30
- self.insert_into_buffer([root_command.runtime_name.value, runtime_version])
31
- self.insert_into_buffer(connection_data.serialize_connection_data())
32
- self.insert_into_buffer([RuntimeName.python27.value, root_command.command_type.value])
33
- self.serialize_recursively(root_command)
34
- return self.buffer
35
-
36
- def serialize_recursively(self, command):
32
+ ms = io.BytesIO()
33
+
34
+ ms.write(bytearray([root_command.runtime_name.value, runtime_version]))
35
+
36
+ if connection_data is not None:
37
+ ms.write(bytearray(connection_data.serialize_connection_data()))
38
+ else:
39
+ ms.write(bytearray([0, 0, 0, 0, 0, 0, 0]))
40
+
41
+ ms.write(bytearray([RuntimeName.python27.value, root_command.command_type.value]))
42
+
43
+ CommandSerializer.serialize_recursively(root_command, ms)
44
+
45
+ return list(bytearray(ms.getvalue()))
46
+
47
+ @staticmethod
48
+ def serialize_recursively(command, ms):
37
49
  """
38
50
  Serializes a command recursively.
39
51
 
40
52
  :param command: Command to serialize
53
+ :param ms: BytesIO buffer to write to
41
54
  """
42
55
  for item in command.get_payload():
43
56
  if isinstance(item, Command):
44
- self.insert_into_buffer(TypeSerializer.serialize_command(item))
45
- self.serialize_recursively(item)
57
+ ms.write(bytearray(TypeSerializer.serialize_command(item)))
58
+ CommandSerializer.serialize_recursively(item, ms)
46
59
  elif TypesHandler.is_primitive_or_none(item):
47
- self.insert_into_buffer(TypeSerializer.serialize_primitive(item))
60
+ ms.write(bytearray(TypeSerializer.serialize_primitive(item)))
48
61
  else:
49
62
  cached_reference = ReferencesCache().cache_reference(item)
50
- ref_command = Command(RuntimeName.python, CommandType.Reference, cached_reference)
51
- self.serialize_recursively(ref_command)
52
-
53
- return
54
-
55
- def insert_into_buffer(self, arguments):
56
- """
57
- Inserts arguments into the buffer.
58
-
59
- :type arguments: list
60
- """
61
- self.buffer = self.buffer + arguments
63
+ ref_command = Command(RuntimeName.python27, CommandType.Reference, cached_reference)
64
+ ms.write(bytearray(TypeSerializer.serialize_command(ref_command)))
65
+ CommandSerializer.serialize_recursively(ref_command, ms)
@@ -6,7 +6,6 @@ from javonet.core.interpreter.Interpreter import Interpreter
6
6
  from javonet.core.protocol.CommandSerializer import CommandSerializer
7
7
  from javonet.utils.RuntimeLogger import RuntimeLogger
8
8
  from javonet.utils.connectionData.InMemoryConnectionData import InMemoryConnectionData
9
- from javonet.core.protocol.CommandDeserializer import CommandDeserializer
10
9
  from javonet.utils.Command import Command
11
10
  from javonet.utils.CommandType import CommandType
12
11
  from javonet.utils.RuntimeName import RuntimeName
@@ -18,29 +17,31 @@ class Receiver(object):
18
17
  Class implementing the message receiver.
19
18
  """
20
19
 
21
- def __init__(self):
22
- self.connection_data = InMemoryConnectionData()
23
-
24
- def SendCommand(self, message_byte_array_as_string, messageByteArrayLen):
20
+ @staticmethod
21
+ def SendCommand(message_byte_array_as_string):
25
22
  try:
23
+ connection_data = InMemoryConnectionData()
26
24
  message_byte_array = bytearray(message_byte_array_as_string)
27
- response_command = Interpreter().process(message_byte_array)
28
- serialized_response = CommandSerializer().serialize(response_command, self.connection_data)
25
+ response_command = Interpreter.process(message_byte_array)
26
+ serialized_response = CommandSerializer.serialize(response_command, connection_data)
29
27
  return bytearray(serialized_response)
30
28
  except Exception as ex:
29
+ connection_data = InMemoryConnectionData()
31
30
  exception_command = ExceptionSerializer.serialize_exception(
32
31
  ex,
33
32
  Command(RuntimeName.python27, CommandType.Exception, [])
34
33
  )
35
- serialized_exception = CommandSerializer().serialize(exception_command, self.connection_data)
34
+ serialized_exception = CommandSerializer.serialize(exception_command, connection_data)
36
35
  return bytearray(serialized_exception)
37
36
 
38
- def HeartBeat(self, message_byte_array_as_string, messageByteArrayLen):
37
+ @staticmethod
38
+ def HeartBeat(message_byte_array_as_string):
39
39
  message_byte_array = bytearray(message_byte_array_as_string)
40
40
  response_byte_array = bytearray(2)
41
41
  response_byte_array[0] = message_byte_array[11]
42
42
  response_byte_array[1] = message_byte_array[12] - 2
43
43
  return response_byte_array
44
44
 
45
- def GetRuntimeInfo(self):
45
+ @staticmethod
46
+ def GetRuntimeInfo():
46
47
  return RuntimeLogger().get_runtime_info()
@@ -5,7 +5,6 @@ The Command class represents a command sent to the Javonet runtime environment.
5
5
 
6
6
  from javonet.utils.CommandType import CommandType
7
7
 
8
-
9
8
  class Command(object):
10
9
 
11
10
  def __init__(self, runtime_name, command_type, payload):
@@ -14,11 +13,26 @@ class Command(object):
14
13
 
15
14
  :param runtime_name: Runtime environment name
16
15
  :param command_type: Command type
17
- :param payload: Command payload
16
+ :param payload: Command payload (list, tuple, single value, or None)
17
+ If not provided, creates empty list.
18
+ If None is explicitly passed, creates [None].
18
19
  """
19
20
  self.runtime_name = runtime_name
20
21
  self.command_type = command_type
21
- self.payload = payload
22
+
23
+ if isinstance(payload, list) and len(payload) == 0:
24
+ # Payload is empty - create empty list
25
+ self.payload = []
26
+ elif payload is None:
27
+ # None explicitly passed - wrap in list
28
+ self.payload = [None]
29
+ elif isinstance(payload, (list, tuple)):
30
+ # Convert to list if tuple, reuse list directly
31
+ # None values in the payload are preserved
32
+ self.payload = list(payload) if isinstance(payload, tuple) else payload
33
+ else:
34
+ # Single item - wrap in list
35
+ self.payload = [payload]
22
36
 
23
37
  def get_payload(self):
24
38
  """
@@ -37,7 +51,7 @@ class Command(object):
37
51
  :param runtime_name: Runtime environment name
38
52
  :return: New response command
39
53
  """
40
- return Command(runtime_name, CommandType.Value, [response])
54
+ return Command(runtime_name, CommandType.Value, response)
41
55
 
42
56
  @staticmethod
43
57
  def create_reference(guid, runtime_name):
@@ -48,7 +62,7 @@ class Command(object):
48
62
  :param runtime_name: Runtime environment name
49
63
  :return: New reference command
50
64
  """
51
- return Command(runtime_name, CommandType.Reference, [guid])
65
+ return Command(runtime_name, CommandType.Reference, guid)
52
66
 
53
67
  @staticmethod
54
68
  def create_array_response(array, runtime_name):
@@ -61,39 +75,64 @@ class Command(object):
61
75
  """
62
76
  return Command(runtime_name, CommandType.Array, array)
63
77
 
64
- def drop_first_payload_argument(self):
78
+ def drop_first_payload_arg(self):
65
79
  """
66
80
  Removes the first argument from the payload.
67
81
 
68
82
  :return: New command without the first argument
69
83
  """
70
- payload_args = []
71
- payload_args.extend(self.payload)
72
- if len(payload_args) != 0:
73
- payload_args.pop(0)
74
- return Command(self.runtime_name, self.command_type, payload_args)
84
+ if len(self.payload) <= 1:
85
+ return Command(self.runtime_name, self.command_type, [])
86
+
87
+ new_length = len(self.payload) - 1
88
+ new_payload = [None] * new_length
89
+
90
+ # Copy from index 1 to end
91
+ for i in xrange(new_length):
92
+ new_payload[i] = self.payload[i + 1]
93
+
94
+ return Command(self.runtime_name, self.command_type, new_payload)
75
95
 
76
- def add_arg_to_payload(self, argument):
96
+ def add_arg_to_payload(self, arg):
77
97
  """
78
98
  Adds an argument to the payload.
79
99
 
80
- :param argument: Argument to add
100
+ :param arg: Argument to add
81
101
  :return: New command with the added argument
82
102
  """
83
- merged_payload = self.payload + [argument]
84
- return Command(self.runtime_name, self.command_type, merged_payload)
103
+ old_length = len(self.payload)
104
+ new_payload = [None] * (old_length + 1)
105
+
106
+ # Copy existing payload
107
+ for i in xrange(old_length):
108
+ new_payload[i] = self.payload[i]
109
+
110
+ # Add new argument at the end
111
+ new_payload[old_length] = arg
112
+
113
+ return Command(self.runtime_name, self.command_type, new_payload)
85
114
 
86
- def prepend_arg_to_payload(self, current_command):
115
+ def prepend_arg_to_payload(self, arg_command):
87
116
  """
88
117
  Adds an argument to the beginning of the payload.
89
118
 
90
- :param current_command: Current command
119
+ :param arg_command: Command to prepend
91
120
  :return: New command with the argument added at the beginning
92
121
  """
93
- if current_command is None:
94
- return Command(self.runtime_name, self.command_type, self.payload)
95
- else:
96
- return Command(self.runtime_name, self.command_type, [current_command] + self.payload)
122
+ if arg_command is None:
123
+ return self
124
+
125
+ old_length = len(self.payload)
126
+ new_payload = [None] * (old_length + 1)
127
+
128
+ # Put new element at the front
129
+ new_payload[0] = arg_command
130
+
131
+ # Copy existing payload starting from index 1
132
+ for i in xrange(old_length):
133
+ new_payload[i + 1] = self.payload[i]
134
+
135
+ return Command(self.runtime_name, self.command_type, new_payload)
97
136
 
98
137
  def to_string(self):
99
138
  """
@@ -101,8 +140,29 @@ class Command(object):
101
140
 
102
141
  :return: Text representation of the command
103
142
  """
104
- return 'Target runtime: ' + str(self.runtime_name) + ' Command type: ' + str(
105
- self.command_type) + ' Payload: ' + str(self.payload)
143
+ try:
144
+ sb = []
145
+ sb.append("RuntimeName ")
146
+ sb.append(str(self.runtime_name))
147
+ sb.append(" ")
148
+ sb.append("CommandType ")
149
+ sb.append(str(self.command_type))
150
+ sb.append(" ")
151
+ sb.append("Payload ")
152
+
153
+ payload = self.payload
154
+ payload_len = len(payload)
155
+
156
+ for i in xrange(payload_len):
157
+ item = payload[i]
158
+ sb.append(str(item) if item is not None else "null")
159
+
160
+ if i < payload_len - 1:
161
+ sb.append(" ")
162
+
163
+ return ''.join(sb)
164
+ except Exception as ex:
165
+ return "Error while converting command to string:" + str(ex)
106
166
 
107
167
  def __eq__(self, other):
108
168
  """
@@ -137,8 +197,13 @@ class Command(object):
137
197
 
138
198
  # Compare each payload item
139
199
  for i in range(len(self.payload)):
200
+ # Handle None values explicitly
201
+ if self.payload[i] is None and other.payload[i] is None:
202
+ continue
203
+ elif self.payload[i] is None or other.payload[i] is None:
204
+ return False
140
205
  # For simple types
141
- if self.payload[i] != other.payload[i]:
206
+ elif self.payload[i] != other.payload[i]:
142
207
  return False
143
208
 
144
209
  return True
@@ -1 +1 @@
1
- 2.6.10
1
+ 2.6.12