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
@@ -11,190 +11,209 @@ from javonet.utils.StringEncodingMode import StringEncodingMode
11
11
  from javonet.utils.Type import Type
12
12
 
13
13
 
14
+ class _DeserializerState(object):
15
+ """Internal state holder for deserialization."""
16
+ def __init__(self, buffer):
17
+ self.buffer = buffer
18
+ self.buffer_len = len(buffer)
19
+ self.position = 0
20
+
21
+
14
22
  class CommandDeserializer(object):
15
23
  """
16
24
  Class responsible for command deserialization.
17
25
  """
18
- position = 0
19
- buffer = []
20
- command = 0
21
- buffer_len = 0
22
26
 
23
- def __init__(self, buffer):
27
+ @staticmethod
28
+ def deserialize(buffer):
24
29
  """
25
- Initializes a new command deserializer.
30
+ Deserializes a command from a buffer.
26
31
 
27
32
  :param buffer: Buffer with data to deserialize
33
+ :return: Deserialized command
28
34
  """
29
- self.buffer = buffer
30
- self.buffer_len = len(buffer)
31
- if self.buffer_len < 11:
35
+ if len(buffer) < 11:
32
36
  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
+ state = _DeserializerState(buffer)
39
+ command = Command(RuntimeName(buffer[0]), CommandType(buffer[10]), [])
40
+ state.position = 11
41
+
42
+ while not CommandDeserializer._is_at_end(state):
43
+ command = command.add_arg_to_payload(CommandDeserializer._read_object(state))
44
+
45
+ return command
46
+
47
+ @staticmethod
48
+ def _is_at_end(state):
37
49
  """
38
50
  Checks if the end of buffer has been reached.
39
51
 
52
+ :param state: Deserializer state
40
53
  :return: True if end of buffer is reached, False otherwise
41
54
  """
42
- return self.position >= self.buffer_len
55
+ return state.position >= state.buffer_len
43
56
 
44
- def deserialize(self):
45
- """
46
- Deserializes a command.
47
-
48
- :return: Deserialized command
49
- """
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
53
-
54
- def _check_buffer(self, required_size):
57
+ @staticmethod
58
+ def _check_buffer(state, required_size):
55
59
  """Checks if there are enough bytes left in the buffer."""
56
- if self.position + required_size > self.buffer_len:
60
+ if state.position + required_size > state.buffer_len:
57
61
  raise IndexError("Not enough data in buffer to read next value.")
58
62
 
59
- def read_object(self, type_num):
63
+ @staticmethod
64
+ def _read_object(state):
60
65
  """
61
66
  Reads an object from the buffer based on its type.
62
67
 
63
- :param type_num: Type number
68
+ :param state: Deserializer state
64
69
  :return: Read object
65
70
  """
71
+ type_num = state.buffer[state.position]
66
72
  type_value = Type(type_num)
67
73
  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
74
+ Type.Command: CommandDeserializer._read_command,
75
+ Type.JavonetString: CommandDeserializer._read_string,
76
+ Type.JavonetInteger: CommandDeserializer._read_int,
77
+ Type.JavonetBoolean: CommandDeserializer._read_bool,
78
+ Type.JavonetFloat: CommandDeserializer._read_float,
79
+ Type.JavonetByte: CommandDeserializer._read_byte,
80
+ Type.JavonetChar: CommandDeserializer._read_char,
81
+ Type.JavonetLongLong: CommandDeserializer._read_longlong,
82
+ Type.JavonetDouble: CommandDeserializer._read_double,
83
+ Type.JavonetUnsignedLongLong: CommandDeserializer._read_ullong,
84
+ Type.JavonetUnsignedInteger: CommandDeserializer._read_uint,
85
+ Type.JavonetNoneType: CommandDeserializer._read_none
80
86
  }
81
87
  func = switch.get(type_value)
82
88
  if func is None:
83
89
  raise ValueError("Type not supported: " + str(type_num))
84
- return func()
90
+ return func(state)
85
91
 
86
- def read_command(self):
92
+ @staticmethod
93
+ def _read_command(state):
87
94
  """
88
95
  Reads a command from the buffer.
89
96
 
97
+ :param state: Deserializer state
90
98
  :return: Read command
91
99
  """
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
100
+ CommandDeserializer._check_buffer(state, 7)
101
+ p = state.position
102
+ number_of_elements_in_payload = TypeDeserializer.deserialize_int(state.buffer[p + 1: p + 5])
103
+ runtime = state.buffer[p + 5]
104
+ command_type = state.buffer[p + 6]
105
+ state.position += 7
98
106
 
99
107
  payload = []
100
108
  for _ in xrange(number_of_elements_in_payload):
101
- payload.append(self.read_object(self.buffer[self.position]))
109
+ payload.append(CommandDeserializer._read_object(state))
102
110
 
103
111
  return Command(RuntimeName(runtime), CommandType(command_type), payload)
104
112
 
105
- def read_string(self):
113
+ @staticmethod
114
+ def _read_string(state):
106
115
  """
107
116
  Reads a string from the buffer.
108
117
 
118
+ :param state: Deserializer state
109
119
  :return: Read string
110
120
  """
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):
121
+ CommandDeserializer._check_buffer(state, 6)
122
+ p = state.position
123
+ string_encoding_mode = StringEncodingMode(state.buffer[p + 1])
124
+ size = TypeDeserializer.deserialize_int(state.buffer[p + 2:p + 6])
125
+ state.position += 6
126
+ CommandDeserializer._check_buffer(state, size)
127
+ p = state.position
128
+ state.position += size
129
+ return TypeDeserializer.deserialize_string(string_encoding_mode, state.buffer[p:p + size])
130
+
131
+ @staticmethod
132
+ def _read_int(state):
122
133
  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):
134
+ CommandDeserializer._check_buffer(state, size + 2)
135
+ state.position += 2
136
+ p = state.position
137
+ state.position += size
138
+ return TypeDeserializer.deserialize_int(state.buffer[p:p + size])
139
+
140
+ @staticmethod
141
+ def _read_bool(state):
130
142
  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):
143
+ CommandDeserializer._check_buffer(state, size + 2)
144
+ state.position += 2
145
+ p = state.position
146
+ state.position += size
147
+ return TypeDeserializer.deserialize_bool(state.buffer[p:p + size])
148
+
149
+ @staticmethod
150
+ def _read_float(state):
138
151
  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):
152
+ CommandDeserializer._check_buffer(state, size + 2)
153
+ state.position += 2
154
+ p = state.position
155
+ state.position += size
156
+ return TypeDeserializer.deserialize_float(state.buffer[p:p + size])
157
+
158
+ @staticmethod
159
+ def _read_byte(state):
146
160
  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):
161
+ CommandDeserializer._check_buffer(state, size + 2)
162
+ state.position += 2
163
+ p = state.position
164
+ state.position += size
165
+ return TypeDeserializer.deserialize_byte(state.buffer[p:p + size])
166
+
167
+ @staticmethod
168
+ def _read_char(state):
154
169
  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):
170
+ CommandDeserializer._check_buffer(state, size + 2)
171
+ state.position += 2
172
+ p = state.position
173
+ state.position += size
174
+ return TypeDeserializer.deserialize_char(state.buffer[p:p + size])
175
+
176
+ @staticmethod
177
+ def _read_longlong(state):
162
178
  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):
179
+ CommandDeserializer._check_buffer(state, size + 2)
180
+ state.position += 2
181
+ p = state.position
182
+ state.position += size
183
+ return TypeDeserializer.deserialize_longlong(state.buffer[p:p + size])
184
+
185
+ @staticmethod
186
+ def _read_double(state):
170
187
  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):
188
+ CommandDeserializer._check_buffer(state, size + 2)
189
+ state.position += 2
190
+ p = state.position
191
+ state.position += size
192
+ return TypeDeserializer.deserialize_double(state.buffer[p:p + size])
193
+
194
+ @staticmethod
195
+ def _read_ullong(state):
179
196
  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):
197
+ CommandDeserializer._check_buffer(state, size + 2)
198
+ state.position += 2
199
+ p = state.position
200
+ state.position += size
201
+ return TypeDeserializer.deserialize_ullong(state.buffer[p:p + size])
202
+
203
+ @staticmethod
204
+ def _read_uint(state):
187
205
  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):
206
+ CommandDeserializer._check_buffer(state, size + 2)
207
+ state.position += 2
208
+ p = state.position
209
+ state.position += size
210
+ return TypeDeserializer.deserialize_uint(state.buffer[p:p + size])
211
+
212
+ @staticmethod
213
+ def _read_none(state):
195
214
  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])
215
+ CommandDeserializer._check_buffer(state, size + 2)
216
+ state.position += 2
217
+ p = state.position
218
+ state.position += size
219
+ return TypeDeserializer.deserialize_none(state.buffer[p:p + size])
@@ -15,9 +15,9 @@ class CommandSerializer(object):
15
15
  """
16
16
  Class responsible for command serialization.
17
17
  """
18
- buffer = []
19
18
 
20
- def serialize(self, root_command, connection_data, runtime_version=0):
19
+ @staticmethod
20
+ def serialize(root_command, connection_data, runtime_version=0):
21
21
  """
22
22
  Serializes a command.
23
23
 
@@ -26,36 +26,40 @@ class CommandSerializer(object):
26
26
  :param runtime_version: Runtime version
27
27
  :return: Serialized command
28
28
  """
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):
29
+ buffer = [] # Reset buffer for each serialization
30
+ CommandSerializer._insert_into_buffer(buffer, [root_command.runtime_name.value, runtime_version])
31
+ CommandSerializer._insert_into_buffer(buffer, connection_data.serialize_connection_data())
32
+ CommandSerializer._insert_into_buffer(buffer, [RuntimeName.python27.value, root_command.command_type.value])
33
+ CommandSerializer._serialize_recursively(buffer, root_command)
34
+ return buffer
35
+
36
+ @staticmethod
37
+ def _serialize_recursively(buffer, command):
37
38
  """
38
39
  Serializes a command recursively.
39
40
 
41
+ :param buffer: Buffer to serialize into
40
42
  :param command: Command to serialize
41
43
  """
42
- for item in command.get_payload():
44
+ for item in command.payload:
43
45
  if isinstance(item, Command):
44
- self.insert_into_buffer(TypeSerializer.serialize_command(item))
45
- self.serialize_recursively(item)
46
+ CommandSerializer._insert_into_buffer(buffer, TypeSerializer.serialize_command(item))
47
+ CommandSerializer._serialize_recursively(buffer, item)
46
48
  elif TypesHandler.is_primitive_or_none(item):
47
- self.insert_into_buffer(TypeSerializer.serialize_primitive(item))
49
+ CommandSerializer._insert_into_buffer(buffer, TypeSerializer.serialize_primitive(item))
48
50
  else:
49
51
  cached_reference = ReferencesCache().cache_reference(item)
50
52
  ref_command = Command(RuntimeName.python, CommandType.Reference, cached_reference)
51
- self.serialize_recursively(ref_command)
53
+ CommandSerializer._serialize_recursively(buffer, ref_command)
52
54
 
53
55
  return
54
56
 
55
- def insert_into_buffer(self, arguments):
57
+ @staticmethod
58
+ def _insert_into_buffer(buffer, arguments):
56
59
  """
57
60
  Inserts arguments into the buffer.
58
61
 
62
+ :param buffer: Buffer to insert into
59
63
  :type arguments: list
60
64
  """
61
- self.buffer = self.buffer + arguments
65
+ buffer.extend(arguments)
@@ -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.11