javonet-ruby-sdk 2.6.8 → 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 (445) 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 +61 -21
  121. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/InvokeInstanceMethodHandler.cjs +1 -1
  122. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/InvokeStaticMethodHandler.cjs +1 -1
  123. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/PassDelegateHandler.cjs +13 -5
  124. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/RegisterForUpdateHandler.cjs +60 -0
  125. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/ValueForUpdateHandler.cjs +36 -0
  126. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/interpreter/Interpreter.cjs +4 -13
  127. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/protocol/CommandDeserializer.cjs +1 -1
  128. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/protocol/CommandSerializer.cjs +5 -5
  129. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/receiver/Receiver.cjs +4 -7
  130. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/InvocationContext.cjs +111 -28
  131. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/Javonet.cjs +3 -1
  132. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/RuntimeContext.cjs +30 -12
  133. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/RuntimeFactory.cjs +0 -22
  134. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/Handler.d.ts +12 -5
  135. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/PassDelegateHandler.d.ts +0 -5
  136. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/RegisterForUpdateHandler.d.ts +17 -0
  137. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/ValueForUpdateHandler.d.ts +7 -0
  138. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/interpreter/Interpreter.d.ts +2 -7
  139. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/protocol/CommandSerializer.d.ts +2 -2
  140. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/receiver/Receiver.d.ts +0 -1
  141. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/InvocationContext.d.ts +10 -13
  142. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/Javonet.d.ts +2 -2
  143. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/RuntimeContext.d.ts +8 -3
  144. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/RuntimeFactory.d.ts +0 -8
  145. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/utils/CommandType.d.ts +2 -0
  146. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/CommandType.cjs +3 -1
  147. 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
  148. 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
  149. 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
  150. 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
  151. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  152. 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
  153. 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
  154. 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
  155. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  156. 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
  157. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +96 -96
  158. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/RegisterForUpdateHandler.pm +29 -0
  159. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/PerlHandler.pm +17 -10
  160. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Interpreter/Interpreter.pm +6 -14
  161. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/CommandDeserializer.pm +196 -190
  162. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +13 -14
  163. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/TypeDeserializer.pm +11 -12
  164. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/TypeSerializer.pm +17 -20
  165. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Receiver/Receiver.pm +4 -3
  166. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommand.pm +166 -54
  167. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +2 -1
  168. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +0 -2
  169. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +0 -1
  170. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-events.bat +0 -0
  171. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-highlight.bat +0 -0
  172. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load-dump.bat +0 -0
  173. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load.bat +0 -0
  174. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-parse-emit.bat +0 -0
  175. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  176. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  177. 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
  178. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  179. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  180. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +21 -21
  181. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/RegisterForUpdateHandler.pm +29 -0
  182. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/PerlHandler.pm +17 -10
  183. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Interpreter/Interpreter.pm +6 -14
  184. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/CommandDeserializer.pm +196 -190
  185. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +13 -14
  186. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/TypeDeserializer.pm +11 -12
  187. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/TypeSerializer.pm +17 -20
  188. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Receiver/Receiver.pm +4 -3
  189. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommand.pm +166 -54
  190. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +2 -1
  191. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +0 -2
  192. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +0 -1
  193. data/lib/javonet-ruby-sdk/Binaries/Php/composer.json +6 -5
  194. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/handler/AbstractHandler.php +1 -2
  195. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/handler/Handler.php +74 -58
  196. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/handler/LoadLibraryHandler.php +110 -0
  197. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/interpreter/Interpreter.php +25 -23
  198. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/protocol/CommandSerializer.php +5 -5
  199. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/receiver/Receiver.php +7 -4
  200. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/Command.php +86 -22
  201. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/DynamicMethodFactory.php +1 -2
  202. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/ExceptionSerializer.php +15 -1
  203. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/RuntimeNameHandler.php +32 -0
  204. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/UtilsConst.php +6 -3
  205. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/IConnectionData.php +1 -1
  206. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/InMemoryConnectionData.php +1 -1
  207. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/TcpConnectionData.php +6 -1
  208. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/WsConnectionData.php +1 -1
  209. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/callback/callbackFunc.py +4 -4
  210. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/AsOutHandler.py +1 -1
  211. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/CreateClassInstanceHandler.py +0 -2
  212. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/Handler.py +95 -50
  213. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/PassDelegateHandler.py +1 -1
  214. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/RegisterForUpdateHandler.py +38 -0
  215. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/ValueForUpdateHandler.py +6 -0
  216. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/Interpreter.py +13 -13
  217. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandDeserializer.py +143 -155
  218. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py +7 -5
  219. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/Receiver.py +64 -21
  220. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/Command.py +114 -45
  221. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/CommandType.py +3 -1
  222. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/callback/callbackFunc.py +2 -3
  223. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/GetKwargHandler.py +5 -0
  224. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/Handler.py +30 -12
  225. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/InvokeDelegateHandler.py +2 -2
  226. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/InvokeGlobalFunctionHandler.py +2 -2
  227. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/interpreter/Interpreter.py +9 -9
  228. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/protocol/CommandDeserializer.py +149 -130
  229. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/protocol/CommandSerializer.py +21 -17
  230. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/receiver/Receiver.py +11 -10
  231. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/Command.py +89 -24
  232. data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
  233. data/lib/javonet-ruby-sdk/core/handler/abstract_command_handler.rb +23 -23
  234. data/lib/javonet-ruby-sdk/core/handler/abstract_handler.rb +4 -4
  235. data/lib/javonet-ruby-sdk/core/handler/add_event_listener_handler.rb +12 -12
  236. data/lib/javonet-ruby-sdk/core/handler/array_get_item_handler.rb +47 -47
  237. data/lib/javonet-ruby-sdk/core/handler/array_get_rank_handler.rb +22 -22
  238. data/lib/javonet-ruby-sdk/core/handler/array_get_size_handler.rb +36 -36
  239. data/lib/javonet-ruby-sdk/core/handler/array_handler.rb +12 -12
  240. data/lib/javonet-ruby-sdk/core/handler/array_reference_handler.rb +12 -12
  241. data/lib/javonet-ruby-sdk/core/handler/array_set_item_handler.rb +46 -46
  242. data/lib/javonet-ruby-sdk/core/handler/as_kwargs_handler.rb +12 -12
  243. data/lib/javonet-ruby-sdk/core/handler/as_out_handler.rb +12 -12
  244. data/lib/javonet-ruby-sdk/core/handler/as_ref_handler.rb +11 -11
  245. data/lib/javonet-ruby-sdk/core/handler/casting_handler.rb +11 -11
  246. data/lib/javonet-ruby-sdk/core/handler/convert_type_handler.rb +11 -11
  247. data/lib/javonet-ruby-sdk/core/handler/create_class_instance_handler.rb +34 -34
  248. data/lib/javonet-ruby-sdk/core/handler/create_null_handler.rb +12 -12
  249. data/lib/javonet-ruby-sdk/core/handler/destruct_reference_handler.rb +20 -20
  250. data/lib/javonet-ruby-sdk/core/handler/enable_namespace_handler.rb +30 -30
  251. data/lib/javonet-ruby-sdk/core/handler/enable_type_handler.rb +32 -32
  252. data/lib/javonet-ruby-sdk/core/handler/exception_handler.rb +12 -12
  253. data/lib/javonet-ruby-sdk/core/handler/generate_lib_handler.rb +12 -12
  254. data/lib/javonet-ruby-sdk/core/handler/get_async_operation_result_handler.rb +12 -12
  255. data/lib/javonet-ruby-sdk/core/handler/get_enum_item_handler.rb +12 -12
  256. data/lib/javonet-ruby-sdk/core/handler/get_enum_name_handler.rb +12 -12
  257. data/lib/javonet-ruby-sdk/core/handler/get_enum_value_handler.rb +12 -12
  258. data/lib/javonet-ruby-sdk/core/handler/get_global_field_handler.rb +11 -11
  259. data/lib/javonet-ruby-sdk/core/handler/get_instance_field_handler.rb +34 -34
  260. data/lib/javonet-ruby-sdk/core/handler/get_instance_method_as_delegate_handler.rb +11 -11
  261. data/lib/javonet-ruby-sdk/core/handler/get_module_handler.rb +11 -11
  262. data/lib/javonet-ruby-sdk/core/handler/get_ref_value_handler.rb +11 -11
  263. data/lib/javonet-ruby-sdk/core/handler/get_result_type_handler.rb +12 -12
  264. data/lib/javonet-ruby-sdk/core/handler/get_static_field_handler.rb +34 -34
  265. data/lib/javonet-ruby-sdk/core/handler/get_static_method_as_delegate_handler.rb +11 -11
  266. data/lib/javonet-ruby-sdk/core/handler/get_type_handler.rb +70 -71
  267. data/lib/javonet-ruby-sdk/core/handler/handler.rb +227 -184
  268. data/lib/javonet-ruby-sdk/core/handler/handler_dictionary.rb +7 -7
  269. data/lib/javonet-ruby-sdk/core/handler/heartbeat_handler.rb +12 -12
  270. data/lib/javonet-ruby-sdk/core/handler/invoke_delegate_handler.rb +12 -12
  271. data/lib/javonet-ruby-sdk/core/handler/invoke_generic_method_handler.rb +11 -11
  272. data/lib/javonet-ruby-sdk/core/handler/invoke_generic_static_method_handler.rb +12 -12
  273. data/lib/javonet-ruby-sdk/core/handler/invoke_global_function_handler.rb +45 -45
  274. data/lib/javonet-ruby-sdk/core/handler/invoke_instance_method_handler.rb +35 -35
  275. data/lib/javonet-ruby-sdk/core/handler/invoke_static_method_handler.rb +38 -38
  276. data/lib/javonet-ruby-sdk/core/handler/load_library_handler.rb +49 -49
  277. data/lib/javonet-ruby-sdk/core/handler/optimize_handler.rb +12 -12
  278. data/lib/javonet-ruby-sdk/core/handler/pass_delegate_handler.rb +11 -11
  279. data/lib/javonet-ruby-sdk/core/handler/plugin_wrapper_handler.rb +12 -12
  280. data/lib/javonet-ruby-sdk/core/handler/register_for_update_handler.rb +28 -0
  281. data/lib/javonet-ruby-sdk/core/handler/resolve_instance_handler.rb +29 -29
  282. data/lib/javonet-ruby-sdk/core/handler/retrieve_array_handler.rb +12 -12
  283. data/lib/javonet-ruby-sdk/core/handler/set_instance_field_handler.rb +35 -35
  284. data/lib/javonet-ruby-sdk/core/handler/set_static_field_handler.rb +31 -31
  285. data/lib/javonet-ruby-sdk/core/handler/value_for_update_handler.rb +11 -0
  286. data/lib/javonet-ruby-sdk/core/handler/value_handler.rb +6 -6
  287. data/lib/javonet-ruby-sdk/core/interpreter/interpreter.rb +26 -28
  288. data/lib/javonet-ruby-sdk/core/namespace_cache/namespace_cache.rb +42 -42
  289. data/lib/javonet-ruby-sdk/core/protocol/command_deserializer.rb +184 -184
  290. data/lib/javonet-ruby-sdk/core/protocol/command_serializer.rb +36 -36
  291. data/lib/javonet-ruby-sdk/core/protocol/type_deserializer.rb +65 -65
  292. data/lib/javonet-ruby-sdk/core/protocol/type_serializer.rb +120 -120
  293. data/lib/javonet-ruby-sdk/core/receiver/{receiver_new.rb → receiver.rb} +38 -42
  294. data/lib/javonet-ruby-sdk/core/reference_cache/references_cache.rb +39 -39
  295. data/lib/javonet-ruby-sdk/core/transmitter/transmitter.rb +58 -58
  296. data/lib/javonet-ruby-sdk/core/transmitter/transmitter_wrapper.rb +31 -31
  297. data/lib/javonet-ruby-sdk/core/type_cache/type_cache.rb +41 -41
  298. data/lib/javonet-ruby-sdk/core/web_socket_client/web_socket_client.rb +228 -228
  299. data/lib/javonet-ruby-sdk/sdk/config_runtime_factory.rb +132 -132
  300. data/lib/javonet-ruby-sdk/sdk/configuration/config.rb +32 -0
  301. data/lib/javonet-ruby-sdk/sdk/configuration/config_priority.rb +27 -0
  302. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/config_resolver.rb +80 -0
  303. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/connection_string_config_resolver.rb +89 -0
  304. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/json_config_resolver.rb +66 -0
  305. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/yaml_config_resolver.rb +77 -0
  306. data/lib/javonet-ruby-sdk/sdk/configuration/config_source_resolver.rb +70 -0
  307. data/lib/javonet-ruby-sdk/sdk/configuration/configs_dictionary.rb +48 -0
  308. data/lib/javonet-ruby-sdk/sdk/internal/abstract_config_runtime_factory.rb +33 -33
  309. data/lib/javonet-ruby-sdk/sdk/internal/abstract_invocation_context.rb +70 -70
  310. data/lib/javonet-ruby-sdk/sdk/internal/abstract_runtime_context.rb +10 -10
  311. data/lib/javonet-ruby-sdk/sdk/internal/abstract_runtime_factory.rb +37 -37
  312. data/lib/javonet-ruby-sdk/sdk/internal/invocation_context_iterator.rb +27 -27
  313. data/lib/javonet-ruby-sdk/sdk/invocation_context.rb +318 -319
  314. data/lib/javonet-ruby-sdk/sdk/javonet.rb +132 -106
  315. data/lib/javonet-ruby-sdk/sdk/runtime_context.rb +259 -218
  316. data/lib/javonet-ruby-sdk/sdk/runtime_factory.rb +78 -78
  317. data/lib/javonet-ruby-sdk/sdk/tools/activation_helper.rb +37 -37
  318. data/lib/javonet-ruby-sdk/sdk/tools/json_file_resolver.rb +62 -62
  319. data/lib/javonet-ruby-sdk/sdk/tools/sdk_message_helper.rb +71 -71
  320. data/lib/javonet-ruby-sdk/utils/command.rb +79 -93
  321. data/lib/javonet-ruby-sdk/utils/command_type.rb +154 -148
  322. data/lib/javonet-ruby-sdk/utils/connection_type.rb +5 -5
  323. data/lib/javonet-ruby-sdk/utils/exceptions/exception_serializer.rb +116 -116
  324. data/lib/javonet-ruby-sdk/utils/exceptions/exception_thrower.rb +65 -65
  325. data/lib/javonet-ruby-sdk/utils/exceptions/exception_type.rb +10 -10
  326. data/lib/javonet-ruby-sdk/utils/os_helper.rb +21 -21
  327. data/lib/javonet-ruby-sdk/utils/runtime_logger.rb +46 -46
  328. data/lib/javonet-ruby-sdk/utils/runtime_name_handler.rb +71 -40
  329. data/lib/javonet-ruby-sdk/utils/runtime_name_javonet.rb +13 -13
  330. data/lib/javonet-ruby-sdk/utils/string_encoding_mode_javonet.rb +6 -6
  331. data/lib/javonet-ruby-sdk/utils/tcp_connection_data.rb +36 -36
  332. data/lib/javonet-ruby-sdk/utils/type.rb +15 -15
  333. data/lib/javonet-ruby-sdk/utils/types_handler.rb +10 -10
  334. data/lib/javonet-ruby-sdk/utils/ws_connection_data.rb +23 -19
  335. metadata +24 -115
  336. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libcrypto-3-arm64.dll +0 -0
  337. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libssl-3-arm64.dll +0 -0
  338. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxml2.dll +0 -0
  339. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxmlsec-openssl.dll +0 -0
  340. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxmlsec.dll +0 -0
  341. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxslt.dll +0 -0
  342. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libcrypto-3-x64.dll +0 -0
  343. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libssl-3-x64.dll +0 -0
  344. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxml2.dll +0 -0
  345. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxmlsec-openssl.dll +0 -0
  346. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxmlsec.dll +0 -0
  347. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxslt.dll +0 -0
  348. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libcrypto-3.dll +0 -0
  349. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libssl-3.dll +0 -0
  350. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxml2.dll +0 -0
  351. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxmlsec-openssl.dll +0 -0
  352. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxmlsec.dll +0 -0
  353. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxslt.dll +0 -0
  354. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/__pycache__/__init__.cpython-312.pyc +0 -0
  355. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/DelegatesCache.cpython-312.pyc +0 -0
  356. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/__init__.cpython-312.pyc +0 -0
  357. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractCommandHandler.cpython-312.pyc +0 -0
  358. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractHandler.cpython-312.pyc +0 -0
  359. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AddEventListenerHandler.cpython-312.pyc +0 -0
  360. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetItemHandler.cpython-312.pyc +0 -0
  361. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetRankHandler.cpython-312.pyc +0 -0
  362. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetSizeHandler.cpython-312.pyc +0 -0
  363. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayHandler.cpython-312.pyc +0 -0
  364. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayReferenceHandler.cpython-312.pyc +0 -0
  365. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArraySetItemHandler.cpython-312.pyc +0 -0
  366. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AsOutHandler.cpython-312.pyc +0 -0
  367. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AsRefHandler.cpython-312.pyc +0 -0
  368. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CastingHandler.cpython-312.pyc +0 -0
  369. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ConvertTypeHandler.cpython-312.pyc +0 -0
  370. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateClassInstanceHandler.cpython-312.pyc +0 -0
  371. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateNullHandler.cpython-312.pyc +0 -0
  372. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/DestructReferenceHandler.cpython-312.pyc +0 -0
  373. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableNamespaceHandler.cpython-312.pyc +0 -0
  374. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableTypeHandler.cpython-312.pyc +0 -0
  375. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ExceptionHandler.cpython-312.pyc +0 -0
  376. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GenerateLibHandler.cpython-312.pyc +0 -0
  377. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetAsyncOperationResultHandler.cpython-312.pyc +0 -0
  378. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumItemHandler.cpython-312.pyc +0 -0
  379. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumNameHandler.cpython-312.pyc +0 -0
  380. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumValueHandler.cpython-312.pyc +0 -0
  381. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetGlobalFieldHandler.cpython-312.pyc +0 -0
  382. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceFieldHandler.cpython-312.pyc +0 -0
  383. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceMethodAsDelegateHandler.cpython-312.pyc +0 -0
  384. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetKwargHandler.cpython-312.pyc +0 -0
  385. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetModuleHandler.cpython-312.pyc +0 -0
  386. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetRefValueHandler.cpython-312.pyc +0 -0
  387. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetResultTypeHandler.cpython-312.pyc +0 -0
  388. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticFieldHandler.cpython-312.pyc +0 -0
  389. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticMethodAsDelegateHandler.cpython-312.pyc +0 -0
  390. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetTypeHandler.cpython-312.pyc +0 -0
  391. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/Handler.cpython-312.pyc +0 -0
  392. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HandlerDictionary.cpython-312.pyc +0 -0
  393. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HeartBeatHandler.cpython-312.pyc +0 -0
  394. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeDelegateHandler.cpython-312.pyc +0 -0
  395. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGenericMethodHandler.cpython-312.pyc +0 -0
  396. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGenericStaticMethodHandler.cpython-312.pyc +0 -0
  397. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGlobalFunctionHandler.cpython-312.pyc +0 -0
  398. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeInstanceMethodHandler.cpython-312.pyc +0 -0
  399. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeStaticMethodHandler.cpython-312.pyc +0 -0
  400. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/LoadLibraryHandler.cpython-312.pyc +0 -0
  401. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/OptimizeHandler.cpython-312.pyc +0 -0
  402. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PassDelegateHandler.cpython-312.pyc +0 -0
  403. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PluginWrapperHandler.cpython-312.pyc +0 -0
  404. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ResolveInstanceHandler.cpython-312.pyc +0 -0
  405. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/RetrieveArrayHandler.cpython-312.pyc +0 -0
  406. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetInstanceFieldHandler.cpython-312.pyc +0 -0
  407. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetStaticFieldHandler.cpython-312.pyc +0 -0
  408. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueHandler.cpython-312.pyc +0 -0
  409. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/__init__.cpython-312.pyc +0 -0
  410. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/Interpreter.cpython-312.pyc +0 -0
  411. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/__init__.cpython-312.pyc +0 -0
  412. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/NamespaceCache.cpython-312.pyc +0 -0
  413. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  414. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-312.pyc +0 -0
  415. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandSerializer.cpython-312.pyc +0 -0
  416. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-312.pyc +0 -0
  417. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeSerializer.cpython-312.pyc +0 -0
  418. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/__init__.cpython-312.pyc +0 -0
  419. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/Receiver.cpython-312.pyc +0 -0
  420. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/__init__.cpython-312.pyc +0 -0
  421. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/ReferencesCache.cpython-312.pyc +0 -0
  422. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  423. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/TypeCache.cpython-312.pyc +0 -0
  424. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/__init__.cpython-312.pyc +0 -0
  425. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Command.cpython-312.pyc +0 -0
  426. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/CommandType.cpython-312.pyc +0 -0
  427. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ConnectionType.cpython-312.pyc +0 -0
  428. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ExceptionType.cpython-312.pyc +0 -0
  429. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/LazyModuleLoader.cpython-312.pyc +0 -0
  430. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeLogger.cpython-312.pyc +0 -0
  431. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeName.cpython-312.pyc +0 -0
  432. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/StringEncodingMode.cpython-312.pyc +0 -0
  433. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Type.cpython-312.pyc +0 -0
  434. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/TypesHandler.cpython-312.pyc +0 -0
  435. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/UtilsConst.cpython-312.pyc +0 -0
  436. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  437. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/IConnectionData.cpython-312.pyc +0 -0
  438. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/InMemoryConnectionData.cpython-312.pyc +0 -0
  439. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/__init__.cpython-312.pyc +0 -0
  440. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-312.pyc +0 -0
  441. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionThrower.cpython-312.pyc +0 -0
  442. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/JavonetException.cpython-312.pyc +0 -0
  443. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/__init__.cpython-312.pyc +0 -0
  444. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/MessageHelper.cpython-312.pyc +0 -0
  445. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/__init__.cpython-312.pyc +0 -0
@@ -1,7 +1,6 @@
1
1
  package Javonet::Core::Protocol::TypeSerializer;
2
2
  use strict;
3
3
  use warnings;
4
- use Moose;
5
4
  use Encode;
6
5
  use lib 'lib';
7
6
 
@@ -14,26 +13,24 @@ use Exporter qw(import);
14
13
  our @EXPORT = qw(serializeCommand serializePrimitive serializeString serializeInt serializeBool serializeFloat serializeByte serializeChar serializeLongLong serializeDouble serializeUllong serializeUint serializeUndef);
15
14
 
16
15
  sub serializePrimitive {
17
- my $self = $_[0];
18
- my $payload_item = $_[1];
16
+ my ($class, $payload_item) = @_;
19
17
  if(!defined $payload_item) {
20
- return serializeUndef($self);
18
+ return serializeUndef($class);
21
19
  }
22
20
 
23
21
  if(isint($payload_item)){
24
- return serializeInt($self, $payload_item);
22
+ return serializeInt($class, $payload_item);
25
23
  }
26
24
  if(type($payload_item) eq "FLOAT"){
27
- return serializeDouble($self, $payload_item);
25
+ return serializeDouble($class, $payload_item);
28
26
  }
29
27
  else{
30
- return serializeString($self, $payload_item);
28
+ return serializeString($class, $payload_item);
31
29
  }
32
30
  }
33
31
 
34
32
  sub serializeCommand {
35
- my $self = $_[0];
36
- my $command = $_[1];
33
+ my ($class, $command) = @_;
37
34
  my $length = @{$command->{payload}};
38
35
  my @length = unpack "C*", pack "V", $length;
39
36
  my @initial_array =(Type->get_type('Command'), @length, $command->{runtime},$command->{command_type});
@@ -42,8 +39,7 @@ sub serializeCommand {
42
39
  }
43
40
 
44
41
  sub serializeString {
45
- my $self = $_[0];
46
- my $string = $_[1];
42
+ my ($class, $string) = @_;
47
43
  my @serialized_string = unpack("C*", Encode::encode("utf8", $string));
48
44
  my $length = @serialized_string;
49
45
 
@@ -56,7 +52,7 @@ sub serializeString {
56
52
  }
57
53
 
58
54
  sub serializeInt {
59
- my ($self, $int_value) = @_;
55
+ my ($class, $int_value) = @_;
60
56
  my $length = 4;
61
57
  my @initial_array = (Type->get_type('JavonetInteger'), $length);
62
58
  my @bytes = unpack "C*", pack "i", $int_value;
@@ -64,7 +60,7 @@ sub serializeInt {
64
60
  }
65
61
 
66
62
  sub serializeBool {
67
- my ($self, $bool_value) = @_;
63
+ my ($class, $bool_value) = @_;
68
64
  my $length = 1;
69
65
  my @initial_array = (Type->get_type('JavonetBool'), $length);
70
66
  my @bytes;
@@ -79,7 +75,7 @@ sub serializeBool {
79
75
  }
80
76
 
81
77
  sub serializeFloat {
82
- my ($self, $float_value) = @_;
78
+ my ($class, $float_value) = @_;
83
79
  my $length = 4;
84
80
  my @initial_array = (Type->get_type('JavonetFloat'), $length);
85
81
  my @bytes = unpack "C*", pack "f", $float_value;
@@ -87,7 +83,7 @@ sub serializeFloat {
87
83
  }
88
84
 
89
85
  sub serializeByte {
90
- my ($self, $byte_value) = @_;
86
+ my ($class, $byte_value) = @_;
91
87
  my $length = 1;
92
88
  my @initial_array = (Type->get_type('JavonetByte'), $length);
93
89
  my @bytes = ($byte_value);
@@ -95,7 +91,7 @@ sub serializeByte {
95
91
  }
96
92
 
97
93
  sub serializeChar {
98
- my ($self, $char_value) = @_;
94
+ my ($class, $char_value) = @_;
99
95
  my $length = 1;
100
96
  my @initial_array = (Type->get_type('JavonetChar'), $length);
101
97
  my @bytes = ($char_value);
@@ -103,7 +99,7 @@ sub serializeChar {
103
99
  }
104
100
 
105
101
  sub serializeLongLong {
106
- my ($self, $longlong_value) = @_;
102
+ my ($class, $longlong_value) = @_;
107
103
  my $length = 8;
108
104
  my @initial_array = (Type->get_type('JavonetLongLong'), $length);
109
105
  my @bytes = unpack "C*", pack "q", $longlong_value;
@@ -111,7 +107,7 @@ sub serializeLongLong {
111
107
  }
112
108
 
113
109
  sub serializeDouble {
114
- my ($self, $double_value) = @_;
110
+ my ($class, $double_value) = @_;
115
111
  my $length = 8;
116
112
  my @initial_array = (Type->get_type('JavonetDouble'), $length);
117
113
  my @bytes = unpack "C*", pack "d", $double_value;
@@ -119,7 +115,7 @@ sub serializeDouble {
119
115
  }
120
116
 
121
117
  sub serializeUllong {
122
- my ($self, $ullong_value) = @_;
118
+ my ($class, $ullong_value) = @_;
123
119
  my $length = 8;
124
120
  my @initial_array = (Type->get_type('JavonetUnsignedLongLong'), $length);
125
121
  my @bytes = unpack "C*", pack "Q", $ullong_value;
@@ -127,7 +123,7 @@ sub serializeUllong {
127
123
  }
128
124
 
129
125
  sub serializeUint {
130
- my ($self, $uint_value) = @_;
126
+ my ($class, $uint_value) = @_;
131
127
  my $length = 4;
132
128
  my @initial_array = (Type->get_type('JavonetUnsignedInteger'), $length);
133
129
  my @bytes = unpack "C*", pack "V", $uint_value;
@@ -135,6 +131,7 @@ sub serializeUint {
135
131
  }
136
132
 
137
133
  sub serializeUndef {
134
+ my ($class) = @_;
138
135
  my $length = 1;
139
136
  my @initial_array = (Type->get_type('JavonetNull'), $length);
140
137
  my @bytes = (0);
@@ -30,13 +30,13 @@ use aliased 'Javonet::Core::Protocol::CommandSerializer' => 'CommandSerializer';
30
30
 
31
31
 
32
32
  sub heart_beat {
33
- my ($self, $message_byte_array_ref) = @_;
33
+ my ($class, $message_byte_array_ref) = @_;
34
34
  my @response_byte_array = (49, 48);
35
35
  return \@response_byte_array;
36
36
  }
37
37
 
38
38
  sub send_command {
39
- my ($self, $message_byte_array_ref) = @_;
39
+ my ($class, $message_byte_array_ref) = @_;
40
40
  my @message_byte_array = @$message_byte_array_ref;
41
41
  my @response_byte_array;
42
42
  # try {
@@ -45,7 +45,7 @@ sub send_command {
45
45
  # catch ( $e ) {
46
46
  # my $exception = Exception->new($e);
47
47
  # my $exception_command = Javonet::Core::Exception::ExceptionSerializer->serialize($exception);
48
- # @response_byte_array = CommandSerializer->serialize($exception_command, 0);
48
+ # @response_byte_array = CommandSerializer->serialize($exception_command, 0, 0, 0);
49
49
  # };
50
50
 
51
51
  return \@response_byte_array;
@@ -54,6 +54,7 @@ sub send_command {
54
54
  }
55
55
 
56
56
  sub get_runtime_info {
57
+ my ($class) = @_;
57
58
  return RuntimeLogger->rl_get_runtime_info();
58
59
  }
59
60
 
@@ -5,95 +5,207 @@ use lib 'lib';
5
5
  use Moose;
6
6
  use Scalar::Util;
7
7
 
8
+ use aliased 'Javonet::Sdk::Core::PerlCommandType' => 'PerlCommandType';
9
+
8
10
  has 'runtime' => (
9
- is => 'rw',
11
+ is => 'ro',
10
12
  isa => 'Int',
11
13
  required => 1,
12
14
  reader => '_get_runtime'
13
15
  );
14
16
 
15
17
  has 'command_type' => (
16
- is => 'rw',
18
+ is => 'ro',
17
19
  isa => 'Int',
18
20
  required => 1,
19
21
  reader => '_get_command_type'
20
22
  );
21
23
 
22
24
  has 'payload' => (
23
- is => 'rw',
25
+ is => 'ro',
24
26
  isa => 'ArrayRef',
25
27
  default => sub {[]},
26
- writer => '_set_payload',
27
28
  reader => '_get_payload'
28
29
  );
29
30
 
30
- sub addArgumentToPayload{
31
- my ($self, $payload_ref) = @_;
32
- my @payload_array = @$payload_ref;
33
- my $firstVar = $self->{payload}[0];
34
- my @merged_payload;
35
- if (!defined $firstVar){
36
- @merged_payload = @payload_array;
31
+ # Constructor with params object[] (list of objects)
32
+ sub new {
33
+ my ($class, %args) = @_;
34
+ my $runtime = $args{runtime};
35
+ my $command_type = $args{command_type};
36
+ my $payload = $args{payload};
37
+
38
+ # If payload is not provided or is undef, use empty array
39
+ if (!defined $payload) {
40
+ $payload = [];
41
+ }
42
+ # If payload is already an array reference, use it directly
43
+ elsif (ref $payload eq 'ARRAY') {
44
+ # Reuse array reference directly - no conversion overhead
45
+ $payload = $payload;
37
46
  }
38
- else{
39
- my $current_payload_ref = $self->{payload};
40
- my @cur_payload = @$current_payload_ref;
41
- @merged_payload = (@cur_payload, @payload_array);
47
+ # If payload is a list (not a reference), convert to array reference
48
+ else {
49
+ # This handles the case where payload might be passed as a list
50
+ # Convert to array reference
51
+ my @payload_array = ref $payload ? @$payload : ($payload);
52
+ $payload = \@payload_array;
42
53
  }
43
- return Javonet::Sdk::Core::PerlCommand->new(runtime => $self->{runtime}, command_type => $self->{command_type}, payload => \@merged_payload);
54
+
55
+ my $self = {
56
+ runtime => $runtime,
57
+ command_type => $command_type,
58
+ payload => $payload
59
+ };
60
+
61
+ bless $self, $class;
62
+ return $self;
44
63
  }
45
64
 
46
- # sub size{
47
- # my ($self) = @_;
48
- # my $command_size = 0;
49
- # my $current_payload_ref = $self->{payload};
50
- # my @cur_payload = @$current_payload_ref;
51
- # for (my $i = 0; $i < @cur_payload; $i++) {
52
- # if ($cur_payload[$i]->isa("Javonet::Sdk::Core::PerlCommand")) {
53
- # $command_size += $cur_payload[$i]->size();
54
- # }
55
- # if (Scalar::Util::looks_like_number($cur_payload[$i])){
56
- # $command_size += 4
57
- # }
58
- # if ( ! defined $cur_payload[$i]){
59
- # # undefined
60
- # $command_size += 0;
61
- # }
62
- # elsif ( ref $cur_payload[$i] ) {
63
- # # reference (return of ref will give the type)
64
- # $command_size += 0;
65
- # }
66
- # else{
67
- # $command_size += length($cur_payload[$i]);
68
- # }
69
- # }
70
- # return $command_size;
71
- # }
65
+ # Static factory method: CreateResponse
66
+ sub CreateResponse {
67
+ my ($class, $response, $runtime_name) = @_;
68
+ return $class->new(
69
+ runtime => $runtime_name,
70
+ command_type => PerlCommandType->get_command_type('Value'),
71
+ payload => [$response]
72
+ );
73
+ }
72
74
 
73
- sub drop_first_payload_argument {
75
+ # Static factory method: CreateReference
76
+ sub CreateReference {
77
+ my ($class, $guid, $runtime_name) = @_;
78
+ return $class->new(
79
+ runtime => $runtime_name,
80
+ command_type => PerlCommandType->get_command_type('Reference'),
81
+ payload => [$guid]
82
+ );
83
+ }
84
+
85
+ # Static factory method: CreateArrayResponse
86
+ sub CreateArrayResponse {
87
+ my ($class, $array, $runtime_name) = @_;
88
+ # Convert array to array reference if needed
89
+ my $payload = ref $array eq 'ARRAY' ? $array : [$array];
90
+ return $class->new(
91
+ runtime => $runtime_name,
92
+ command_type => PerlCommandType->get_command_type('Array'),
93
+ payload => $payload
94
+ );
95
+ }
96
+
97
+ # DropFirstPayloadArg - matches C# DropFirstPayloadArg
98
+ sub DropFirstPayloadArg {
74
99
  my ($self) = @_;
100
+ my $class = ref($self) || $self;
75
101
  my $current_payload_ref = $self->{payload};
76
102
  my @cur_payload = @$current_payload_ref;
77
103
  my $payload_length = @cur_payload;
78
- if ($payload_length != 0){
79
- shift(@cur_payload);
104
+
105
+ if ($payload_length <= 1) {
106
+ return $class->new(
107
+ runtime => $self->{runtime},
108
+ command_type => $self->{command_type},
109
+ payload => []
110
+ );
80
111
  }
81
- return Javonet::Sdk::Core::PerlCommand->new(runtime => $self->{runtime}, command_type => $self->{command_type}, payload => \@cur_payload);
112
+
113
+ my $new_length = $payload_length - 1;
114
+ my @new_payload = @cur_payload[1 .. $#cur_payload];
115
+
116
+ return $class->new(
117
+ runtime => $self->{runtime},
118
+ command_type => $self->{command_type},
119
+ payload => \@new_payload
120
+ );
121
+ }
82
122
 
123
+ # AddArgToPayload - matches C# AddArgToPayload
124
+ sub AddArgToPayload {
125
+ my ($self, $arg) = @_;
126
+ my $class = ref($self) || $self;
127
+ my $current_payload_ref = $self->{payload};
128
+ my @cur_payload = @$current_payload_ref;
129
+ my $old_length = @cur_payload;
130
+ my @new_payload = (@cur_payload, $arg);
131
+
132
+ return $class->new(
133
+ runtime => $self->{runtime},
134
+ command_type => $self->{command_type},
135
+ payload => \@new_payload
136
+ );
83
137
  }
84
138
 
85
- sub prepend_arg_to_payload{
86
- my ($self, $current_command) = @_;
139
+ # PrependArgToPayload - matches C# PrependArgToPayload
140
+ sub PrependArgToPayload {
141
+ my ($self, $arg_command) = @_;
142
+
143
+ if (!defined $arg_command) {
144
+ return $self;
145
+ }
146
+
147
+ my $class = ref($self) || $self;
87
148
  my $current_payload_ref = $self->{payload};
88
149
  my @cur_payload = @$current_payload_ref;
89
- my @merged_payload;
90
- if(defined $current_command) {
91
- @merged_payload = ($current_command, @cur_payload);
92
- } else {
93
- @merged_payload = @cur_payload;
150
+ my $old_length = @cur_payload;
151
+ my @new_payload = ($arg_command, @cur_payload);
152
+
153
+ return $class->new(
154
+ runtime => $self->{runtime},
155
+ command_type => $self->{command_type},
156
+ payload => \@new_payload
157
+ );
158
+ }
159
+
160
+ # Legacy method name for backward compatibility
161
+ sub addArgumentToPayload {
162
+ my ($self, $payload_ref) = @_;
163
+ my @payload_array = ref $payload_ref eq 'ARRAY' ? @$payload_ref : ($payload_ref);
164
+ return $self->AddArgToPayload($payload_array[0]) if @payload_array == 1;
165
+ # For multiple items, add them one by one
166
+ my $result = $self;
167
+ for my $item (@payload_array) {
168
+ $result = $result->AddArgToPayload($item);
94
169
  }
170
+ return $result;
171
+ }
172
+
173
+ # Legacy method name for backward compatibility
174
+ sub drop_first_payload_argument {
175
+ return $_[0]->DropFirstPayloadArg();
176
+ }
177
+
178
+ # Legacy method name for backward compatibility
179
+ sub prepend_arg_to_payload {
180
+ return $_[0]->PrependArgToPayload($_[1]);
181
+ }
95
182
 
96
- return Javonet::Sdk::Core::PerlCommand->new(runtime => $self->{runtime}, command_type => $self->{command_type}, payload => \@merged_payload);
183
+ # ToString method - matches C# ToString
184
+ sub ToString {
185
+ my ($self) = @_;
186
+ eval {
187
+ my $result = "RuntimeName " . $self->{runtime} . " ";
188
+ $result .= "CommandType " . $self->{command_type} . " ";
189
+ $result .= "Payload ";
190
+
191
+ my $payload_ref = $self->{payload};
192
+ my @payload = @$payload_ref;
193
+ my $len = @payload;
194
+
195
+ for (my $i = 0; $i < $len; $i++) {
196
+ my $item = $payload[$i];
197
+ $result .= defined $item ? $item : "null";
198
+
199
+ if ($i < $len - 1) {
200
+ $result .= " ";
201
+ }
202
+ }
203
+
204
+ return $result;
205
+ };
206
+ if ($@) {
207
+ return "Error while converting command to string: " . $@;
208
+ }
97
209
  }
98
210
 
99
211
  no Moose;
@@ -54,7 +54,8 @@ my %command_type = (
54
54
  'AsKwargs' => 45,
55
55
  'GetResultType' => 46,
56
56
  'GetGlobalField' => 47,
57
-
57
+ 'RegisterForUpdate' => 48,
58
+ 'ValueForUpdate' => 49,
58
59
  );
59
60
 
60
61
  sub get_command_type {
@@ -13,8 +13,6 @@ extends 'Javonet::Sdk::Internal::Abstract::AbstractInstanceContext',
13
13
  'Javonet::Sdk::Internal::Abstract::AbstractMethodInvocationContext',
14
14
  'Javonet::Sdk::Internal::Abstract::AbstractInvocationContext';
15
15
 
16
- my $perl_handler = Javonet::Core::Handler::PerlHandler->new();
17
-
18
16
  sub new {
19
17
  my $class = shift;
20
18
 
@@ -13,7 +13,6 @@ use aliased 'Javonet::Sdk::Core::TypesHandler' => 'TypesHandler';
13
13
  extends 'Javonet::Sdk::Internal::Abstract::AbstractRuntimeContext',
14
14
  'Javonet::Sdk::Internal::Abstract::AbstractTypeContext';
15
15
 
16
- my $perl_handler = Javonet::Core::Handler::PerlHandler->new();
17
16
  our %memoryRuntimeContexts;
18
17
  our %networkRuntimeContexts;
19
18
  our %configRuntimeContexts;
@@ -4,11 +4,12 @@
4
4
  "type": "library",
5
5
  "license": "MIT",
6
6
  "require": {
7
- "php": "^7.4 || ^8.0",
8
- "ext-curl": "*",
9
- "ext-json": "*",
10
- "ext-ffi": "*",
11
- "guzzlehttp/promises": "^2.0"
7
+ "php": "^7.4 || ^8.0",
8
+ "ext-curl": "*",
9
+ "ext-json": "*",
10
+ "symfony/yaml": "^v5.4.45",
11
+ "ext-ffi": "*",
12
+ "guzzlehttp/promises": "^2.0"
12
13
  },
13
14
  "require-dev": {
14
15
  "phpunit/phpunit": "^9.5"
@@ -22,8 +22,7 @@ abstract class AbstractHandler
22
22
  if (!self::$isInitializing && empty(self::$HANDLER_MAP)) {
23
23
  self::$isInitializing = true;
24
24
  try {
25
- $handler = new Handler();
26
- self::$HANDLER_MAP = $handler->handlers;
25
+ self::$HANDLER_MAP = Handler::getHandlers();
27
26
  } finally {
28
27
  self::$isInitializing = false;
29
28
  }
@@ -17,65 +17,80 @@ use utils\TypesHandler;
17
17
 
18
18
  final class Handler
19
19
  {
20
- public array $handlers = [];
20
+ private static array $handlers = [];
21
21
 
22
- public function __construct()
22
+ private function __construct()
23
23
  {
24
- $this->handlers[CommandType::VALUE()->getValue()] = new ValueHandler();
25
- $this->handlers[CommandType::LOAD_LIBRARY()->getValue()] = new LoadLibraryHandler();
26
- $this->handlers[CommandType::INVOKE_STATIC_METHOD()->getValue()] = new InvokeStaticMethodHandler();
27
- $this->handlers[CommandType::GET_STATIC_FIELD()->getValue()] = new GetStaticFieldHandler();
28
- $this->handlers[CommandType::SET_STATIC_FIELD()->getValue()] = new SetStaticFieldHandler();
29
- $this->handlers[CommandType::CREATE_INSTANCE()->getValue()] = new CreateInstanceHandler();
30
- $this->handlers[CommandType::GET_TYPE()->getValue()] = new GetTypeHandler();
31
- $this->handlers[CommandType::REFERENCE()->getValue()] = new ResolveInstanceHandler();
32
- $this->handlers[CommandType::GET_MODULE()->getValue()] = new GetModuleHandler();
33
- $this->handlers[CommandType::INVOKE_INSTANCE_METHOD()->getValue()] = new InvokeInstanceMethodHandler();
34
- $this->handlers[CommandType::EXCEPTION()->getValue()] = new ExceptionHandler();
35
- $this->handlers[CommandType::HEART_BEAT()->getValue()] = new HeartBeatHandler();
36
- $this->handlers[CommandType::CAST()->getValue()] = new CastHandler();
37
- $this->handlers[CommandType::GET_INSTANCE_FIELD()->getValue()] = new GetInstanceFieldHandler();
38
- $this->handlers[CommandType::OPTIMIZE()->getValue()] = new OptimizeHandler();
39
- $this->handlers[CommandType::GENERATE_LIB()->getValue()] = new GenerateLibHandler();
40
- $this->handlers[CommandType::INVOKE_GLOBAL_FUNCTION()->getValue()] = new InvokeGlobalFunctionHandler();
41
- $this->handlers[CommandType::DESTRUCT_REFERENCE()->getValue()] = new DestructReferenceHandler();
42
- $this->handlers[CommandType::ARRAY_REFERENCE()->getValue()] = new ArrayReferenceHandler();
43
- $this->handlers[CommandType::ARRAY_GET_ITEM()->getValue()] = new ArrayGetItemHandler();
44
- $this->handlers[CommandType::ARRAY_GET_SIZE()->getValue()] = new ArrayGetSizeHandler();
45
- $this->handlers[CommandType::ARRAY_GET_RANK()->getValue()] = new ArrayGetRankHandler();
46
- $this->handlers[CommandType::ARRAY_SET_ITEM()->getValue()] = new ArraySetItemHandler();
47
- $this->handlers[CommandType::ARRAY()->getValue()] = new ArrayHandler();
48
- $this->handlers[CommandType::RETRIEVE_ARRAY()->getValue()] = null; // obsługiwane osobno
49
- $this->handlers[CommandType::SET_INSTANCE_FIELD()->getValue()] = new SetInstanceFieldHandler();
50
- $this->handlers[CommandType::INVOKE_GENERIC_STATIC_METHOD()->getValue()] = new InvokeGenericStaticMethodHandler();
51
- $this->handlers[CommandType::INVOKE_GENERIC_METHOD()->getValue()] = new InvokeGenericMethodHandler();
52
- $this->handlers[CommandType::GET_ENUM_ITEM()->getValue()] = new GetEnumItemHandler();
53
- $this->handlers[CommandType::GET_ENUM_NAME()->getValue()] = new GetEnumNameHandler();
54
- $this->handlers[CommandType::GET_ENUM_VALUE()->getValue()] = new GetEnumValueHandler();
55
- $this->handlers[CommandType::AS_REF()->getValue()] = new AsRefHandler();
56
- $this->handlers[CommandType::AS_OUT()->getValue()] = new AsOutHandler();
57
- $this->handlers[CommandType::GET_REF_VALUE()->getValue()] = new GetRefValueHandler();
58
- $this->handlers[CommandType::ENABLE_NAMESPACE()->getValue()] = new EnableNamespaceHandler();
59
- $this->handlers[CommandType::ENABLE_TYPE()->getValue()] = new EnableTypeHandler();
60
- $this->handlers[CommandType::CREATE_NULL()->getValue()] = new CreateNullHandler();
61
- $this->handlers[CommandType::GET_STATIC_METHOD_AS_DELEGATE()->getValue()] = new GetStaticMethodAsDelegateHandler();
62
- $this->handlers[CommandType::GET_INSTANCE_METHOD_AS_DELEGATE()->getValue()] = new GetInstanceMethodAsDelegateHandler();
63
- $this->handlers[CommandType::PASS_DELEGATE()->getValue()] = new PassDelegateHandler();
64
- $this->handlers[CommandType::INVOKE_DELEGATE()->getValue()] = new InvokeDelegateHandler();
65
- $this->handlers[CommandType::CONVERT_TYPE()->getValue()] = new ConvertTypeHandler();
66
- $this->handlers[CommandType::ADD_EVENT_LISTENER()->getValue()] = new AddEventListenerHandler();
67
- $this->handlers[CommandType::PLUGIN_WRAPPER()->getValue()] = new PluginWrapperHandler();
68
- $this->handlers[CommandType::GET_ASYNC_OPERATION_RESULT()->getValue()] = new GetAsyncOperationResultHandler();
69
- $this->handlers[CommandType::AS_KWARGS()->getValue()] = new AsKwargsHandler();
70
- $this->handlers[CommandType::GET_RESULT_TYPE()->getValue()] = new GetResultTypeHandler();
71
- $this->handlers[CommandType::GET_GLOBAL_FIELD()->getValue()] = new GetGlobalFieldHandler();
72
24
  }
73
25
 
74
- public function handleCommand(CommandInterface $command): CommandInterface
26
+ private static function initializeHandlers(): void
27
+ {
28
+ if (!empty(self::$handlers)) {
29
+ return;
30
+ }
31
+
32
+ self::$handlers[CommandType::VALUE()->getValue()] = new ValueHandler();
33
+ self::$handlers[CommandType::LOAD_LIBRARY()->getValue()] = new LoadLibraryHandler();
34
+ self::$handlers[CommandType::INVOKE_STATIC_METHOD()->getValue()] = new InvokeStaticMethodHandler();
35
+ self::$handlers[CommandType::GET_STATIC_FIELD()->getValue()] = new GetStaticFieldHandler();
36
+ self::$handlers[CommandType::SET_STATIC_FIELD()->getValue()] = new SetStaticFieldHandler();
37
+ self::$handlers[CommandType::CREATE_INSTANCE()->getValue()] = new CreateInstanceHandler();
38
+ self::$handlers[CommandType::GET_TYPE()->getValue()] = new GetTypeHandler();
39
+ self::$handlers[CommandType::REFERENCE()->getValue()] = new ResolveInstanceHandler();
40
+ self::$handlers[CommandType::GET_MODULE()->getValue()] = new GetModuleHandler();
41
+ self::$handlers[CommandType::INVOKE_INSTANCE_METHOD()->getValue()] = new InvokeInstanceMethodHandler();
42
+ self::$handlers[CommandType::EXCEPTION()->getValue()] = new ExceptionHandler();
43
+ self::$handlers[CommandType::HEART_BEAT()->getValue()] = new HeartBeatHandler();
44
+ self::$handlers[CommandType::CAST()->getValue()] = new CastHandler();
45
+ self::$handlers[CommandType::GET_INSTANCE_FIELD()->getValue()] = new GetInstanceFieldHandler();
46
+ self::$handlers[CommandType::OPTIMIZE()->getValue()] = new OptimizeHandler();
47
+ self::$handlers[CommandType::GENERATE_LIB()->getValue()] = new GenerateLibHandler();
48
+ self::$handlers[CommandType::INVOKE_GLOBAL_FUNCTION()->getValue()] = new InvokeGlobalFunctionHandler();
49
+ self::$handlers[CommandType::DESTRUCT_REFERENCE()->getValue()] = new DestructReferenceHandler();
50
+ self::$handlers[CommandType::ARRAY_REFERENCE()->getValue()] = new ArrayReferenceHandler();
51
+ self::$handlers[CommandType::ARRAY_GET_ITEM()->getValue()] = new ArrayGetItemHandler();
52
+ self::$handlers[CommandType::ARRAY_GET_SIZE()->getValue()] = new ArrayGetSizeHandler();
53
+ self::$handlers[CommandType::ARRAY_GET_RANK()->getValue()] = new ArrayGetRankHandler();
54
+ self::$handlers[CommandType::ARRAY_SET_ITEM()->getValue()] = new ArraySetItemHandler();
55
+ self::$handlers[CommandType::ARRAY()->getValue()] = new ArrayHandler();
56
+ self::$handlers[CommandType::RETRIEVE_ARRAY()->getValue()] = null; // obsługiwane osobno
57
+ self::$handlers[CommandType::SET_INSTANCE_FIELD()->getValue()] = new SetInstanceFieldHandler();
58
+ self::$handlers[CommandType::INVOKE_GENERIC_STATIC_METHOD()->getValue()] = new InvokeGenericStaticMethodHandler();
59
+ self::$handlers[CommandType::INVOKE_GENERIC_METHOD()->getValue()] = new InvokeGenericMethodHandler();
60
+ self::$handlers[CommandType::GET_ENUM_ITEM()->getValue()] = new GetEnumItemHandler();
61
+ self::$handlers[CommandType::GET_ENUM_NAME()->getValue()] = new GetEnumNameHandler();
62
+ self::$handlers[CommandType::GET_ENUM_VALUE()->getValue()] = new GetEnumValueHandler();
63
+ self::$handlers[CommandType::AS_REF()->getValue()] = new AsRefHandler();
64
+ self::$handlers[CommandType::AS_OUT()->getValue()] = new AsOutHandler();
65
+ self::$handlers[CommandType::GET_REF_VALUE()->getValue()] = new GetRefValueHandler();
66
+ self::$handlers[CommandType::ENABLE_NAMESPACE()->getValue()] = new EnableNamespaceHandler();
67
+ self::$handlers[CommandType::ENABLE_TYPE()->getValue()] = new EnableTypeHandler();
68
+ self::$handlers[CommandType::CREATE_NULL()->getValue()] = new CreateNullHandler();
69
+ self::$handlers[CommandType::GET_STATIC_METHOD_AS_DELEGATE()->getValue()] = new GetStaticMethodAsDelegateHandler();
70
+ self::$handlers[CommandType::GET_INSTANCE_METHOD_AS_DELEGATE()->getValue()] = new GetInstanceMethodAsDelegateHandler();
71
+ self::$handlers[CommandType::PASS_DELEGATE()->getValue()] = new PassDelegateHandler();
72
+ self::$handlers[CommandType::INVOKE_DELEGATE()->getValue()] = new InvokeDelegateHandler();
73
+ self::$handlers[CommandType::CONVERT_TYPE()->getValue()] = new ConvertTypeHandler();
74
+ self::$handlers[CommandType::ADD_EVENT_LISTENER()->getValue()] = new AddEventListenerHandler();
75
+ self::$handlers[CommandType::PLUGIN_WRAPPER()->getValue()] = new PluginWrapperHandler();
76
+ self::$handlers[CommandType::GET_ASYNC_OPERATION_RESULT()->getValue()] = new GetAsyncOperationResultHandler();
77
+ self::$handlers[CommandType::AS_KWARGS()->getValue()] = new AsKwargsHandler();
78
+ self::$handlers[CommandType::GET_RESULT_TYPE()->getValue()] = new GetResultTypeHandler();
79
+ self::$handlers[CommandType::GET_GLOBAL_FIELD()->getValue()] = new GetGlobalFieldHandler();
80
+ }
81
+
82
+ public static function getHandlers(): array
83
+ {
84
+ self::initializeHandlers();
85
+ return self::$handlers;
86
+ }
87
+
88
+ public static function handleCommand(CommandInterface $command): CommandInterface
75
89
  {
76
90
  try {
77
91
  if ($command->getCommandType()->equalsByValue(CommandType::RETRIEVE_ARRAY)) {
78
- $resolvedObject = $this->handlers[CommandType::REFERENCE()->getValue()]->handleCommand($command->getPayload()[0]);
92
+ self::initializeHandlers();
93
+ $resolvedObject = self::$handlers[CommandType::REFERENCE()->getValue()]->handleCommand($command->getPayload()[0]);
79
94
 
80
95
  if ($resolvedObject instanceof ArrayWrapper) {
81
96
  return Command::createArrayResponse(
@@ -104,7 +119,7 @@ final class Handler
104
119
  ));
105
120
  }
106
121
 
107
- return $this->getParseResponse($command);
122
+ return self::getParseResponse($command);
108
123
  } catch (Throwable $e) {
109
124
  if ($e->getPrevious() !== null) {
110
125
  return ExceptionSerializer::serializeException($e->getPrevious(), $command);
@@ -114,14 +129,15 @@ final class Handler
114
129
  }
115
130
  }
116
131
 
117
- private function getParseResponse(CommandInterface $command): CommandInterface
132
+ private static function getParseResponse(CommandInterface $command): CommandInterface
118
133
  {
119
- $response = $this->handlers[$command->getCommandType()->getValue()]->handleCommand($command);
134
+ self::initializeHandlers();
135
+ $response = self::$handlers[$command->getCommandType()->getValue()]->handleCommand($command);
120
136
  if (TypesHandler::isSimpleType($response)) {
121
137
  return Command::createResponse($response, $command->getRuntimeName());
122
138
  }
123
139
 
124
- if ($this->isCommandGenerateLibType($response) || $this->isCommandExceptionType($response)) {
140
+ if (self::isCommandGenerateLibType($response) || self::isCommandExceptionType($response)) {
125
141
  return $response;
126
142
  }
127
143
 
@@ -138,7 +154,7 @@ final class Handler
138
154
  /**
139
155
  * @param mixed $result
140
156
  */
141
- private function isCommandGenerateLibType($result): bool
157
+ private static function isCommandGenerateLibType($result): bool
142
158
  {
143
159
  if (is_object($result) && get_class($result) === Command::class) {
144
160
  return $result->getCommandType()->equalsByValue(CommandType::GENERATE_LIB);
@@ -150,7 +166,7 @@ final class Handler
150
166
  /**
151
167
  * @param mixed $result
152
168
  */
153
- private function isCommandExceptionType($result): bool
169
+ private static function isCommandExceptionType($result): bool
154
170
  {
155
171
  if (is_object($result) && get_class($result) === Command::class) {
156
172
  return $result->getCommandType()->equalsByValue(CommandType::EXCEPTION);