javonet-ruby-sdk 2.6.10 → 2.6.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -4
  3. data/README.md +1 -1
  4. data/Rakefile +38 -30
  5. data/VERSION +1 -1
  6. data/javonet-ruby-sdk.gemspec +38 -38
  7. data/lib/javonet-ruby-sdk/Binaries/Clr/Javonet.Clr.Utils.dll +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Clr/JavonetClrRuntime.dll +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
  10. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libConfigs.so +0 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
  12. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetCppRuntimeNative.so +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetGoRuntimeNative.so +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
  15. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetNetcoreRuntimeNative.so +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetPhpRuntimeNative.so +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetPythonRuntimeNative.so +0 -0
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRubyRuntimeNative.so +0 -0
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpClient.so +0 -0
  20. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpTlsClient.so +0 -0
  21. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/version.txt +1 -1
  23. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libConfigs.so +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs2218RuntimeNative.so +0 -0
  30. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerl534RuntimeNative.so +0 -0
  32. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPhp848RuntimeNative.so +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPhpRuntimeNative.so +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPython2RuntimeNative.so +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  37. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpClient.so +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpTlsClient.so +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  41. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
  42. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libConfigs.dylib +0 -0
  43. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetActivationService.dylib +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetCppRuntimeNative.dylib +0 -0
  45. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetGoRuntimeNative.dylib +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetJvmRuntimeNative.dylib +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  48. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetPythonRuntimeNative.dylib +0 -0
  49. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetRubyRuntimeNative.dylib +0 -0
  50. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetTcpClient.dylib +0 -0
  51. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetTcpTlsClient.dylib +0 -0
  52. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libUtils.dylib +0 -0
  53. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/version.txt +1 -1
  54. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libConfigs.dylib +0 -0
  55. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
  56. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  57. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  58. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  59. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  60. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs2218RuntimeNative.dylib +0 -0
  61. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  62. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  63. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPhp848RuntimeNative.dylib +0 -0
  64. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPhpRuntimeNative.dylib +0 -0
  65. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  66. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  67. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpClient.dylib +0 -0
  68. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpTlsClient.dylib +0 -0
  69. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  70. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
  71. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Configs.dll +0 -0
  72. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
  73. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
  74. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
  75. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
  76. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
  77. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPhpRuntimeNative.dll +0 -0
  78. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
  79. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
  80. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
  81. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
  82. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
  83. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/version.txt +0 -0
  84. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Configs.dll +0 -0
  85. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  86. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  87. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  88. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  89. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  90. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  91. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs2218RuntimeNative.dll +0 -0
  92. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  93. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  94. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPhp848RuntimeNative.dll +0 -0
  95. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPhpRuntimeNative.dll +0 -0
  96. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPython2RuntimeNative.dll +0 -0
  97. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  98. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  99. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
  100. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
  101. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  102. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
  103. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Configs.dll +0 -0
  104. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
  105. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
  106. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
  107. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
  108. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
  109. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
  110. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPhpRuntimeNative.dll +0 -0
  111. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPython2RuntimeNative.dll +0 -0
  112. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
  113. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
  114. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
  115. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Utils.dll +0 -0
  116. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/version.txt +1 -1
  117. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
  118. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Plugins.dll +0 -0
  119. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
  120. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/Handler.cjs +12 -10
  121. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/PassDelegateHandler.cjs +13 -5
  122. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/interpreter/Interpreter.cjs +4 -13
  123. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/protocol/CommandDeserializer.cjs +1 -1
  124. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/protocol/CommandSerializer.cjs +5 -5
  125. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/receiver/Receiver.cjs +4 -7
  126. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/InvocationContext.cjs +6 -18
  127. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/Javonet.cjs +3 -1
  128. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/RuntimeContext.cjs +29 -11
  129. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/RuntimeFactory.cjs +0 -22
  130. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/Handler.d.ts +11 -11
  131. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/PassDelegateHandler.d.ts +0 -5
  132. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/interpreter/Interpreter.d.ts +2 -7
  133. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/protocol/CommandSerializer.d.ts +2 -2
  134. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/receiver/Receiver.d.ts +0 -1
  135. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/Javonet.d.ts +2 -2
  136. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/RuntimeContext.d.ts +8 -3
  137. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/RuntimeFactory.d.ts +0 -8
  138. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
  139. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
  140. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
  141. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
  142. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  143. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
  144. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
  145. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
  146. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  147. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/lib/libplfill.so +0 -0
  148. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +96 -96
  149. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Exception/SdkExceptionHelper.pm +3 -3
  150. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/PerlHandler.pm +1 -1
  151. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Interpreter/Interpreter.pm +6 -14
  152. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/CommandDeserializer.pm +198 -136
  153. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +64 -54
  154. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/TypeDeserializer.pm +11 -12
  155. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/TypeSerializer.pm +17 -20
  156. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Receiver/Receiver.pm +4 -3
  157. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommand.pm +166 -54
  158. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +0 -2
  159. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +0 -1
  160. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-events.bat +0 -0
  161. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-highlight.bat +0 -0
  162. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load-dump.bat +0 -0
  163. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load.bat +0 -0
  164. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-parse-emit.bat +0 -0
  165. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  166. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  167. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
  168. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  169. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  170. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +26 -26
  171. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Exception/SdkExceptionHelper.pm +3 -3
  172. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/PerlHandler.pm +1 -1
  173. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Interpreter/Interpreter.pm +6 -14
  174. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/CommandDeserializer.pm +198 -136
  175. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +64 -54
  176. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/TypeDeserializer.pm +11 -12
  177. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/TypeSerializer.pm +17 -20
  178. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Receiver/Receiver.pm +4 -3
  179. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommand.pm +166 -54
  180. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +0 -2
  181. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +0 -1
  182. data/lib/javonet-ruby-sdk/Binaries/Php/composer.json +6 -5
  183. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/handler/AbstractHandler.php +1 -2
  184. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/handler/Handler.php +74 -58
  185. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/handler/LoadLibraryHandler.php +110 -0
  186. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/interpreter/Interpreter.php +25 -23
  187. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/protocol/CommandSerializer.php +5 -5
  188. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/receiver/Receiver.php +7 -4
  189. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/webSocketClient/WebSocketClient.php +77 -35
  190. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/Command.php +86 -22
  191. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/DynamicMethodFactory.php +1 -2
  192. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/ExceptionSerializer.php +15 -1
  193. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/RuntimeNameHandler.php +32 -0
  194. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/UtilsConst.php +6 -3
  195. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/IConnectionData.php +1 -1
  196. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/InMemoryConnectionData.php +1 -1
  197. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/TcpConnectionData.php +6 -1
  198. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/WsConnectionData.php +1 -1
  199. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/callback/callbackFunc.py +4 -4
  200. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/Handler.py +72 -52
  201. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/PassDelegateHandler.py +1 -1
  202. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/Interpreter.py +13 -13
  203. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandDeserializer.py +143 -155
  204. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py +7 -5
  205. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/Receiver.py +64 -21
  206. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/Command.py +114 -45
  207. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/callback/callbackFunc.py +2 -3
  208. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/ArrayGetItemHandler.py +3 -6
  209. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/ArraySetItemHandler.py +24 -3
  210. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/GetKwargHandler.py +5 -0
  211. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/Handler.py +30 -12
  212. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/InvokeDelegateHandler.py +2 -2
  213. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/InvokeGlobalFunctionHandler.py +2 -2
  214. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/interpreter/Interpreter.py +9 -9
  215. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/protocol/CommandDeserializer.py +137 -180
  216. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/protocol/CommandSerializer.py +32 -28
  217. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/receiver/Receiver.py +11 -10
  218. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/Command.py +89 -24
  219. data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
  220. data/lib/javonet-ruby-sdk/core/handler/abstract_command_handler.rb +23 -23
  221. data/lib/javonet-ruby-sdk/core/handler/abstract_handler.rb +4 -4
  222. data/lib/javonet-ruby-sdk/core/handler/add_event_listener_handler.rb +12 -12
  223. data/lib/javonet-ruby-sdk/core/handler/array_get_item_handler.rb +47 -47
  224. data/lib/javonet-ruby-sdk/core/handler/array_get_rank_handler.rb +22 -22
  225. data/lib/javonet-ruby-sdk/core/handler/array_get_size_handler.rb +36 -36
  226. data/lib/javonet-ruby-sdk/core/handler/array_handler.rb +12 -12
  227. data/lib/javonet-ruby-sdk/core/handler/array_reference_handler.rb +12 -12
  228. data/lib/javonet-ruby-sdk/core/handler/array_set_item_handler.rb +46 -46
  229. data/lib/javonet-ruby-sdk/core/handler/as_kwargs_handler.rb +12 -12
  230. data/lib/javonet-ruby-sdk/core/handler/as_out_handler.rb +12 -12
  231. data/lib/javonet-ruby-sdk/core/handler/as_ref_handler.rb +11 -11
  232. data/lib/javonet-ruby-sdk/core/handler/casting_handler.rb +11 -11
  233. data/lib/javonet-ruby-sdk/core/handler/convert_type_handler.rb +11 -11
  234. data/lib/javonet-ruby-sdk/core/handler/create_class_instance_handler.rb +34 -34
  235. data/lib/javonet-ruby-sdk/core/handler/create_null_handler.rb +12 -12
  236. data/lib/javonet-ruby-sdk/core/handler/destruct_reference_handler.rb +20 -20
  237. data/lib/javonet-ruby-sdk/core/handler/enable_namespace_handler.rb +30 -30
  238. data/lib/javonet-ruby-sdk/core/handler/enable_type_handler.rb +32 -32
  239. data/lib/javonet-ruby-sdk/core/handler/exception_handler.rb +12 -12
  240. data/lib/javonet-ruby-sdk/core/handler/generate_lib_handler.rb +12 -12
  241. data/lib/javonet-ruby-sdk/core/handler/get_async_operation_result_handler.rb +12 -12
  242. data/lib/javonet-ruby-sdk/core/handler/get_enum_item_handler.rb +12 -12
  243. data/lib/javonet-ruby-sdk/core/handler/get_enum_name_handler.rb +12 -12
  244. data/lib/javonet-ruby-sdk/core/handler/get_enum_value_handler.rb +12 -12
  245. data/lib/javonet-ruby-sdk/core/handler/get_global_field_handler.rb +11 -11
  246. data/lib/javonet-ruby-sdk/core/handler/get_instance_field_handler.rb +34 -34
  247. data/lib/javonet-ruby-sdk/core/handler/get_instance_method_as_delegate_handler.rb +11 -11
  248. data/lib/javonet-ruby-sdk/core/handler/get_module_handler.rb +11 -11
  249. data/lib/javonet-ruby-sdk/core/handler/get_ref_value_handler.rb +11 -11
  250. data/lib/javonet-ruby-sdk/core/handler/get_result_type_handler.rb +12 -12
  251. data/lib/javonet-ruby-sdk/core/handler/get_static_field_handler.rb +34 -34
  252. data/lib/javonet-ruby-sdk/core/handler/get_static_method_as_delegate_handler.rb +11 -11
  253. data/lib/javonet-ruby-sdk/core/handler/get_type_handler.rb +70 -71
  254. data/lib/javonet-ruby-sdk/core/handler/handler.rb +227 -225
  255. data/lib/javonet-ruby-sdk/core/handler/handler_dictionary.rb +7 -7
  256. data/lib/javonet-ruby-sdk/core/handler/heartbeat_handler.rb +12 -12
  257. data/lib/javonet-ruby-sdk/core/handler/invoke_delegate_handler.rb +12 -12
  258. data/lib/javonet-ruby-sdk/core/handler/invoke_generic_method_handler.rb +11 -11
  259. data/lib/javonet-ruby-sdk/core/handler/invoke_generic_static_method_handler.rb +12 -12
  260. data/lib/javonet-ruby-sdk/core/handler/invoke_global_function_handler.rb +45 -45
  261. data/lib/javonet-ruby-sdk/core/handler/invoke_instance_method_handler.rb +35 -35
  262. data/lib/javonet-ruby-sdk/core/handler/invoke_static_method_handler.rb +38 -38
  263. data/lib/javonet-ruby-sdk/core/handler/load_library_handler.rb +49 -49
  264. data/lib/javonet-ruby-sdk/core/handler/optimize_handler.rb +12 -12
  265. data/lib/javonet-ruby-sdk/core/handler/pass_delegate_handler.rb +11 -11
  266. data/lib/javonet-ruby-sdk/core/handler/plugin_wrapper_handler.rb +12 -12
  267. data/lib/javonet-ruby-sdk/core/handler/register_for_update_handler.rb +28 -28
  268. data/lib/javonet-ruby-sdk/core/handler/resolve_instance_handler.rb +29 -29
  269. data/lib/javonet-ruby-sdk/core/handler/retrieve_array_handler.rb +12 -12
  270. data/lib/javonet-ruby-sdk/core/handler/set_instance_field_handler.rb +35 -35
  271. data/lib/javonet-ruby-sdk/core/handler/set_static_field_handler.rb +31 -31
  272. data/lib/javonet-ruby-sdk/core/handler/value_for_update_handler.rb +11 -11
  273. data/lib/javonet-ruby-sdk/core/handler/value_handler.rb +6 -6
  274. data/lib/javonet-ruby-sdk/core/interpreter/interpreter.rb +26 -28
  275. data/lib/javonet-ruby-sdk/core/namespace_cache/namespace_cache.rb +42 -42
  276. data/lib/javonet-ruby-sdk/core/protocol/command_deserializer.rb +184 -184
  277. data/lib/javonet-ruby-sdk/core/protocol/command_serializer.rb +36 -36
  278. data/lib/javonet-ruby-sdk/core/protocol/type_deserializer.rb +65 -65
  279. data/lib/javonet-ruby-sdk/core/protocol/type_serializer.rb +120 -120
  280. data/lib/javonet-ruby-sdk/core/receiver/{receiver_new.rb → receiver.rb} +38 -42
  281. data/lib/javonet-ruby-sdk/core/reference_cache/references_cache.rb +39 -39
  282. data/lib/javonet-ruby-sdk/core/transmitter/transmitter.rb +58 -58
  283. data/lib/javonet-ruby-sdk/core/transmitter/transmitter_wrapper.rb +31 -31
  284. data/lib/javonet-ruby-sdk/core/type_cache/type_cache.rb +41 -41
  285. data/lib/javonet-ruby-sdk/core/web_socket_client/web_socket_client.rb +228 -228
  286. data/lib/javonet-ruby-sdk/sdk/config_runtime_factory.rb +132 -132
  287. data/lib/javonet-ruby-sdk/sdk/configuration/config.rb +32 -0
  288. data/lib/javonet-ruby-sdk/sdk/configuration/config_priority.rb +27 -0
  289. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/config_resolver.rb +80 -0
  290. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/connection_string_config_resolver.rb +89 -0
  291. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/json_config_resolver.rb +66 -0
  292. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/yaml_config_resolver.rb +77 -0
  293. data/lib/javonet-ruby-sdk/sdk/configuration/config_source_resolver.rb +70 -0
  294. data/lib/javonet-ruby-sdk/sdk/configuration/configs_dictionary.rb +48 -0
  295. data/lib/javonet-ruby-sdk/sdk/internal/abstract_config_runtime_factory.rb +33 -33
  296. data/lib/javonet-ruby-sdk/sdk/internal/abstract_invocation_context.rb +70 -70
  297. data/lib/javonet-ruby-sdk/sdk/internal/abstract_runtime_context.rb +10 -10
  298. data/lib/javonet-ruby-sdk/sdk/internal/abstract_runtime_factory.rb +37 -37
  299. data/lib/javonet-ruby-sdk/sdk/internal/invocation_context_iterator.rb +27 -27
  300. data/lib/javonet-ruby-sdk/sdk/invocation_context.rb +314 -319
  301. data/lib/javonet-ruby-sdk/sdk/javonet.rb +132 -106
  302. data/lib/javonet-ruby-sdk/sdk/runtime_context.rb +259 -218
  303. data/lib/javonet-ruby-sdk/sdk/runtime_factory.rb +78 -78
  304. data/lib/javonet-ruby-sdk/sdk/tools/activation_helper.rb +37 -37
  305. data/lib/javonet-ruby-sdk/sdk/tools/json_file_resolver.rb +62 -62
  306. data/lib/javonet-ruby-sdk/sdk/tools/sdk_message_helper.rb +71 -71
  307. data/lib/javonet-ruby-sdk/utils/command.rb +79 -93
  308. data/lib/javonet-ruby-sdk/utils/command_type.rb +154 -154
  309. data/lib/javonet-ruby-sdk/utils/connection_type.rb +5 -5
  310. data/lib/javonet-ruby-sdk/utils/exceptions/exception_serializer.rb +116 -116
  311. data/lib/javonet-ruby-sdk/utils/exceptions/exception_thrower.rb +65 -65
  312. data/lib/javonet-ruby-sdk/utils/exceptions/exception_type.rb +10 -10
  313. data/lib/javonet-ruby-sdk/utils/os_helper.rb +21 -21
  314. data/lib/javonet-ruby-sdk/utils/runtime_logger.rb +46 -46
  315. data/lib/javonet-ruby-sdk/utils/runtime_name_handler.rb +71 -40
  316. data/lib/javonet-ruby-sdk/utils/runtime_name_javonet.rb +13 -13
  317. data/lib/javonet-ruby-sdk/utils/string_encoding_mode_javonet.rb +6 -6
  318. data/lib/javonet-ruby-sdk/utils/tcp_connection_data.rb +36 -36
  319. data/lib/javonet-ruby-sdk/utils/type.rb +15 -15
  320. data/lib/javonet-ruby-sdk/utils/types_handler.rb +10 -10
  321. data/lib/javonet-ruby-sdk/utils/ws_connection_data.rb +23 -19
  322. metadata +14 -117
  323. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libcrypto-3-arm64.dll +0 -0
  324. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libssl-3-arm64.dll +0 -0
  325. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxml2.dll +0 -0
  326. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxmlsec-openssl.dll +0 -0
  327. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxmlsec.dll +0 -0
  328. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxslt.dll +0 -0
  329. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libcrypto-3-x64.dll +0 -0
  330. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libssl-3-x64.dll +0 -0
  331. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxml2.dll +0 -0
  332. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxmlsec-openssl.dll +0 -0
  333. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxmlsec.dll +0 -0
  334. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxslt.dll +0 -0
  335. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libcrypto-3.dll +0 -0
  336. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libssl-3.dll +0 -0
  337. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxml2.dll +0 -0
  338. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxmlsec-openssl.dll +0 -0
  339. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxmlsec.dll +0 -0
  340. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxslt.dll +0 -0
  341. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/__pycache__/__init__.cpython-312.pyc +0 -0
  342. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/DelegatesCache.cpython-312.pyc +0 -0
  343. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/__init__.cpython-312.pyc +0 -0
  344. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractCommandHandler.cpython-312.pyc +0 -0
  345. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractHandler.cpython-312.pyc +0 -0
  346. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AddEventListenerHandler.cpython-312.pyc +0 -0
  347. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetItemHandler.cpython-312.pyc +0 -0
  348. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetRankHandler.cpython-312.pyc +0 -0
  349. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetSizeHandler.cpython-312.pyc +0 -0
  350. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayHandler.cpython-312.pyc +0 -0
  351. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayReferenceHandler.cpython-312.pyc +0 -0
  352. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArraySetItemHandler.cpython-312.pyc +0 -0
  353. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AsOutHandler.cpython-312.pyc +0 -0
  354. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AsRefHandler.cpython-312.pyc +0 -0
  355. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CastingHandler.cpython-312.pyc +0 -0
  356. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ConvertTypeHandler.cpython-312.pyc +0 -0
  357. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateClassInstanceHandler.cpython-312.pyc +0 -0
  358. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateNullHandler.cpython-312.pyc +0 -0
  359. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/DestructReferenceHandler.cpython-312.pyc +0 -0
  360. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableNamespaceHandler.cpython-312.pyc +0 -0
  361. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableTypeHandler.cpython-312.pyc +0 -0
  362. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ExceptionHandler.cpython-312.pyc +0 -0
  363. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GenerateLibHandler.cpython-312.pyc +0 -0
  364. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetAsyncOperationResultHandler.cpython-312.pyc +0 -0
  365. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumItemHandler.cpython-312.pyc +0 -0
  366. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumNameHandler.cpython-312.pyc +0 -0
  367. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumValueHandler.cpython-312.pyc +0 -0
  368. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetGlobalFieldHandler.cpython-312.pyc +0 -0
  369. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceFieldHandler.cpython-312.pyc +0 -0
  370. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceMethodAsDelegateHandler.cpython-312.pyc +0 -0
  371. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetKwargHandler.cpython-312.pyc +0 -0
  372. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetModuleHandler.cpython-312.pyc +0 -0
  373. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetRefValueHandler.cpython-312.pyc +0 -0
  374. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetResultTypeHandler.cpython-312.pyc +0 -0
  375. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticFieldHandler.cpython-312.pyc +0 -0
  376. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticMethodAsDelegateHandler.cpython-312.pyc +0 -0
  377. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetTypeHandler.cpython-312.pyc +0 -0
  378. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/Handler.cpython-312.pyc +0 -0
  379. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HandlerDictionary.cpython-312.pyc +0 -0
  380. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HeartBeatHandler.cpython-312.pyc +0 -0
  381. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeDelegateHandler.cpython-312.pyc +0 -0
  382. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGenericMethodHandler.cpython-312.pyc +0 -0
  383. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGenericStaticMethodHandler.cpython-312.pyc +0 -0
  384. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGlobalFunctionHandler.cpython-312.pyc +0 -0
  385. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeInstanceMethodHandler.cpython-312.pyc +0 -0
  386. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeStaticMethodHandler.cpython-312.pyc +0 -0
  387. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/LoadLibraryHandler.cpython-312.pyc +0 -0
  388. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/OptimizeHandler.cpython-312.pyc +0 -0
  389. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PassDelegateHandler.cpython-312.pyc +0 -0
  390. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PluginWrapperHandler.cpython-312.pyc +0 -0
  391. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/RegisterForUpdateHandler.cpython-312.pyc +0 -0
  392. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ResolveInstanceHandler.cpython-312.pyc +0 -0
  393. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/RetrieveArrayHandler.cpython-312.pyc +0 -0
  394. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetInstanceFieldHandler.cpython-312.pyc +0 -0
  395. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetStaticFieldHandler.cpython-312.pyc +0 -0
  396. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueForUpdateHandler.cpython-312.pyc +0 -0
  397. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueHandler.cpython-312.pyc +0 -0
  398. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/__init__.cpython-312.pyc +0 -0
  399. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/Interpreter.cpython-312.pyc +0 -0
  400. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/__init__.cpython-312.pyc +0 -0
  401. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/NamespaceCache.cpython-312.pyc +0 -0
  402. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  403. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-312.pyc +0 -0
  404. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandSerializer.cpython-312.pyc +0 -0
  405. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-312.pyc +0 -0
  406. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeSerializer.cpython-312.pyc +0 -0
  407. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/__init__.cpython-312.pyc +0 -0
  408. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/Receiver.cpython-312.pyc +0 -0
  409. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/__init__.cpython-312.pyc +0 -0
  410. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/ReferencesCache.cpython-312.pyc +0 -0
  411. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  412. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/TypeCache.cpython-312.pyc +0 -0
  413. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/__init__.cpython-312.pyc +0 -0
  414. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Command.cpython-312.pyc +0 -0
  415. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/CommandType.cpython-312.pyc +0 -0
  416. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ConnectionType.cpython-312.pyc +0 -0
  417. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ExceptionType.cpython-312.pyc +0 -0
  418. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/LazyModuleLoader.cpython-312.pyc +0 -0
  419. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeLogger.cpython-312.pyc +0 -0
  420. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeName.cpython-312.pyc +0 -0
  421. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/StringEncodingMode.cpython-312.pyc +0 -0
  422. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Type.cpython-312.pyc +0 -0
  423. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/TypesHandler.cpython-312.pyc +0 -0
  424. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/UtilsConst.cpython-312.pyc +0 -0
  425. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  426. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/IConnectionData.cpython-312.pyc +0 -0
  427. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/InMemoryConnectionData.cpython-312.pyc +0 -0
  428. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/__init__.cpython-312.pyc +0 -0
  429. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-312.pyc +0 -0
  430. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionThrower.cpython-312.pyc +0 -0
  431. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/JavonetException.cpython-312.pyc +0 -0
  432. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/__init__.cpython-312.pyc +0 -0
  433. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/MessageHelper.cpython-312.pyc +0 -0
  434. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/__init__.cpython-312.pyc +0 -0
@@ -5,6 +5,7 @@ declare(strict_types=1);
5
5
  namespace core\webSocketClient;
6
6
 
7
7
  use RuntimeException;
8
+ use Throwable;
8
9
  use utils\Uri as URI;
9
10
 
10
11
  final class WebSocketClient
@@ -13,10 +14,9 @@ final class WebSocketClient
13
14
  private const UNSECURE_PORT_NUMBER = 80;
14
15
 
15
16
  /** @var resource|null */
16
- private $socket = null;
17
+ private $socket;
17
18
 
18
19
  private URI $uri;
19
- private bool $connected = false;
20
20
  private string $secKey;
21
21
 
22
22
  /** ---------- Static cache & helpers (mirror Ruby) ---------- */
@@ -73,7 +73,8 @@ final class WebSocketClient
73
73
  throw new RuntimeException('No response');
74
74
  }
75
75
  return $resp;
76
- } catch (\Throwable $e) {
76
+
77
+ } catch (Throwable $e) {
77
78
  self::closeClient($uri, true); // suppress close frame
78
79
  $client = self::addOrGetClient($uri);
79
80
  $client->sendByteArray($message);
@@ -98,7 +99,10 @@ final class WebSocketClient
98
99
  public static function getState(URI $uri): ?string
99
100
  {
100
101
  $key = self::uriKey($uri);
101
- if (!isset(self::$cache[$key])) return null;
102
+ if (!isset(self::$cache[$key])) {
103
+ return null;
104
+ }
105
+
102
106
  return self::$cache[$key]->open() ? 'OPEN' : 'CLOSED';
103
107
  }
104
108
 
@@ -111,7 +115,6 @@ final class WebSocketClient
111
115
 
112
116
  $this->socket = $this->openSocket();
113
117
  $this->performHandshake();
114
- $this->connected = true;
115
118
  }
116
119
 
117
120
  public function __destruct()
@@ -121,8 +124,11 @@ final class WebSocketClient
121
124
 
122
125
  public function open(): bool
123
126
  {
124
- if (!is_resource($this->socket)) return false;
127
+ if (!is_resource($this->socket)) {
128
+ return false;
129
+ }
125
130
  $meta = @stream_get_meta_data($this->socket);
131
+
126
132
  return is_array($meta) && !$meta['eof'];
127
133
  }
128
134
 
@@ -137,7 +143,6 @@ final class WebSocketClient
137
143
  @fwrite($this->socket, "\x88\x00");
138
144
  @fflush($this->socket);
139
145
  }
140
- $this->connected = false;
141
146
  @stream_socket_shutdown($this->socket, STREAM_SHUT_RDWR);
142
147
  @fclose($this->socket);
143
148
  }
@@ -146,7 +151,8 @@ final class WebSocketClient
146
151
 
147
152
  /** ---------- Core I/O ---------- */
148
153
 
149
- /** Send a binary message from an array of bytes (0..255) */
154
+ /** Send a binary message from an array of bytes (0..255)
155
+ */
150
156
  private function sendByteArray(array $message): void
151
157
  {
152
158
  if (!$this->open()) {
@@ -169,14 +175,17 @@ final class WebSocketClient
169
175
  * Receive a single complete message as array<int>. Returns null on timeout/close.
170
176
  * Handles fragmentation and control frames (ping/pong/close).
171
177
  */
172
- private function receiveByteArray(int $timeoutSec = 5): ?array
178
+ private function receiveByteArray(): ?array
173
179
  {
180
+ $timeoutSec = 5;
174
181
  $deadline = microtime(true) + $timeoutSec;
175
182
  $messagePayload = '';
176
183
 
177
184
  while (true) {
178
185
  $remaining = $deadline - microtime(true);
179
- if ($remaining <= 0) return null;
186
+ if ($remaining <= 0) {
187
+ return null;
188
+ }
180
189
 
181
190
  $read = [$this->socket];
182
191
  $write = $except = [];
@@ -236,11 +245,11 @@ final class WebSocketClient
236
245
  $hostHeader = $this->hostWithPort();
237
246
 
238
247
  $request =
239
- "GET {$path} HTTP/1.1\r\n" .
240
- "Host: {$hostHeader}\r\n" .
248
+ "GET $path HTTP/1.1\r\n" .
249
+ "Host: $hostHeader\r\n" .
241
250
  "Upgrade: websocket\r\n" .
242
251
  "Connection: Upgrade\r\n" .
243
- "Sec-WebSocket-Key: {$this->secKey}\r\n" .
252
+ "Sec-WebSocket-Key: $this->secKey\r\n" .
244
253
  "Sec-WebSocket-Version: 13\r\n\r\n";
245
254
 
246
255
  $this->writeAll($request);
@@ -265,7 +274,8 @@ final class WebSocketClient
265
274
  }
266
275
  }
267
276
 
268
- /** Build a masked client binary frame (handles any length) */
277
+ /** Build a masked client binary frame (handles any length)
278
+ */
269
279
  private function buildClientBinaryFrame(string $payload): string
270
280
  {
271
281
  $finOpcode = chr(0x80 | 0x2); // FIN + binary
@@ -282,8 +292,8 @@ final class WebSocketClient
282
292
  $header .= chr($maskBit | 126) . pack('n', $len);
283
293
  } else {
284
294
  // 64-bit network byte order using two 32-bit words
285
- $hi = (int) (($len & 0xFFFFFFFF00000000) >> 32);
286
- $lo = (int) ($len & 0x00000000FFFFFFFF);
295
+ $hi = ($len & 0xFFFFFFFF00000000) >> 32;
296
+ $lo = $len & 0x00000000FFFFFFFF;
287
297
  $header .= chr($maskBit | 127) . pack('N2', $hi, $lo);
288
298
  }
289
299
 
@@ -301,7 +311,9 @@ final class WebSocketClient
301
311
  private function readFrame(): ?array
302
312
  {
303
313
  $h = $this->readExact(2);
304
- if ($h === null) return null;
314
+ if ($h === null) {
315
+ return null;
316
+ }
305
317
 
306
318
  $arr = unpack('C2', $h);
307
319
  $b1 = $arr[1];
@@ -314,11 +326,15 @@ final class WebSocketClient
314
326
 
315
327
  if ($len === 126) {
316
328
  $ext = $this->readExact(2);
317
- if ($ext === null) return null;
329
+ if ($ext === null) {
330
+ return null;
331
+ }
318
332
  $len = current(unpack('n', $ext));
319
333
  } elseif ($len === 127) {
320
334
  $ext = $this->readExact(8);
321
- if ($ext === null) return null;
335
+ if ($ext === null) {
336
+ return null;
337
+ }
322
338
  $parts = unpack('N2', $ext);
323
339
  $hi = $parts[1];
324
340
  $lo = $parts[2];
@@ -329,11 +345,15 @@ final class WebSocketClient
329
345
  if ($masked) {
330
346
  // Servers should not mask; handle defensively
331
347
  $maskKey = $this->readExact(4);
332
- if ($maskKey === null) return null;
348
+ if ($maskKey === null) {
349
+ return null;
350
+ }
333
351
  }
334
352
 
335
353
  $payload = ($len > 0) ? ($this->readExact($len) ?? '') : '';
336
- if ($payload === '' && $len > 0) return null;
354
+ if ($payload === '' && $len > 0) {
355
+ return null;
356
+ }
337
357
 
338
358
  if ($masked) {
339
359
  $repeat = (int)ceil($len / 4);
@@ -347,6 +367,9 @@ final class WebSocketClient
347
367
  /** ---------- Low-level utilities ---------- */
348
368
 
349
369
  /** Open TCP/SSL socket; port taken from URI or defaulted by scheme like Ruby */
370
+ /**
371
+ * @return resource
372
+ */
350
373
  private function openSocket()
351
374
  {
352
375
  $host = $this->uri->getHost();
@@ -385,11 +408,12 @@ final class WebSocketClient
385
408
  );
386
409
 
387
410
  if ($socket === false) {
388
- throw new \RuntimeException(sprintf('Could not connect to %s:%d - %s (%d)', $host, $port, $errStr, $errNo));
411
+ throw new RuntimeException(sprintf('Could not connect to %s:%d - %s (%d)', $host, $port, $errStr, $errNo));
389
412
  }
390
413
 
391
414
  stream_set_blocking($socket, true);
392
415
  stream_set_timeout($socket, 5);
416
+
393
417
  return $socket;
394
418
  }
395
419
 
@@ -399,18 +423,26 @@ final class WebSocketClient
399
423
  $buf = '';
400
424
  while (strlen($buf) < $maxBytes) {
401
425
  $remaining = $deadline - microtime(true);
402
- if ($remaining <= 0) return null;
426
+ if ($remaining <= 0) {
427
+ return null;
428
+ }
403
429
 
404
430
  $read = [$this->socket];
405
431
  $write = $except = [];
406
432
  $sec = (int)$remaining;
407
433
  $usec = (int)(($remaining - $sec) * 1_000_000);
408
434
  $n = @stream_select($read, $write, $except, $sec, $usec);
409
- if ($n === false) return null;
410
- if ($n === 0) continue;
435
+ if ($n === false) {
436
+ return null;
437
+ }
438
+ if ($n === 0) {
439
+ continue;
440
+ }
411
441
 
412
442
  $chunk = @fread($this->socket, 1024);
413
- if ($chunk === '' || $chunk === false) break;
443
+ if ($chunk === '' || $chunk === false) {
444
+ break;
445
+ }
414
446
  $buf .= $chunk;
415
447
 
416
448
  if (strpos($buf, "\r\n\r\n") !== false) {
@@ -439,15 +471,23 @@ final class WebSocketClient
439
471
  $buf = '';
440
472
  while (strlen($buf) < $len) {
441
473
  $chunk = @fread($this->socket, $len - strlen($buf));
442
- if ($chunk === false) return null;
474
+ if ($chunk === false) {
475
+ return null;
476
+ }
443
477
  if ($chunk === '') {
444
478
  $meta = @stream_get_meta_data($this->socket);
445
- if (!$meta || $meta['eof']) return null;
479
+ if (!$meta || $meta['eof']) {
480
+ return null;
481
+ }
446
482
  // brief wait
447
483
  $r = [$this->socket]; $w = $e = [];
448
484
  $n = @stream_select($r, $w, $e, 1, 0);
449
- if ($n === 0) continue;
450
- if ($n === false) return null;
485
+ if ($n === 0) {
486
+ continue;
487
+ }
488
+ if ($n === false) {
489
+ return null;
490
+ }
451
491
  continue;
452
492
  }
453
493
  $buf .= $chunk;
@@ -465,12 +505,12 @@ final class WebSocketClient
465
505
  } elseif ($len <= 0xFFFF) {
466
506
  $hdr .= chr(0x00 | 126) . pack('n', $len);
467
507
  } else {
468
- $hi = (int) (($len & 0xFFFFFFFF00000000) >> 32);
469
- $lo = (int) ($len & 0x00000000FFFFFFFF);
508
+ $hi = ($len & 0xFFFFFFFF00000000) >> 32;
509
+ $lo = $len & 0x00000000FFFFFFFF;
470
510
  $hdr .= chr(0x00 | 127) . pack('N2', $hi, $lo);
471
511
  }
472
512
  $this->writeAll($hdr . $payload);
473
- } catch (\Throwable $e) {
513
+ } catch (Throwable $e) {
474
514
  // ignore
475
515
  }
476
516
  }
@@ -479,7 +519,7 @@ final class WebSocketClient
479
519
  {
480
520
  try {
481
521
  $this->writeAll("\x88\x00");
482
- } catch (\Throwable $e) {
522
+ } catch (Throwable $e) {
483
523
  // ignore
484
524
  }
485
525
  }
@@ -494,7 +534,9 @@ final class WebSocketClient
494
534
  private function resolvePort(): int
495
535
  {
496
536
  $p = $this->uri->getPort();
497
- if ($p !== null) return $p;
537
+ if ($p !== null) {
538
+ return $p;
539
+ }
498
540
  return $this->isSecure() ? self::SECURE_PORT_NUMBER : self::UNSECURE_PORT_NUMBER;
499
541
  }
500
542
 
@@ -14,18 +14,26 @@ final class Command implements CommandInterface
14
14
  /** @var array<mixed> */
15
15
  private array $payload;
16
16
 
17
+ /**
18
+ * Constructor with variadic parameters (params object[] payload in C#)
19
+ * Also handles Array payload case - if a single array is passed, treat it as the payload
20
+ */
17
21
  public function __construct(
18
22
  RuntimeName $runtimeName,
19
23
  CommandType $commandType,
20
- ...$payload
24
+ ...$payload
21
25
  ) {
22
26
  $this->runtimeName = $runtimeName;
23
27
  $this->commandType = $commandType;
24
-
25
- // If a single array is passed, treat it as the payload itself.
26
- if (count($payload) === 1 && is_array($payload[0])) {
28
+
29
+ if ($payload === null || count($payload) === 0) {
30
+ $this->payload = [];
31
+ } elseif (count($payload) === 1 && is_array($payload[0])) {
32
+ // Single array passed - treat it as the payload itself (Array payload case in C#)
33
+ // Reuse array directly - no conversion overhead if it's already object[]
27
34
  $this->payload = $payload[0];
28
35
  } else {
36
+ // Multiple arguments or non-array - treat as variadic params
29
37
  $this->payload = $payload;
30
38
  }
31
39
  }
@@ -35,10 +43,19 @@ final class Command implements CommandInterface
35
43
  */
36
44
  public function addArgToPayload($arg): CommandInterface
37
45
  {
38
- // Keep semantics (return new Command) but avoid array_merge overhead.
39
- $newPayload = $this->payload;
40
- $newPayload[] = $arg;
41
-
46
+ $oldLength = count($this->payload);
47
+ $newPayload = [];
48
+
49
+ if ($oldLength > 0) {
50
+ // Copy existing payload
51
+ foreach ($this->payload as $item) {
52
+ $newPayload[] = $item;
53
+ }
54
+ }
55
+
56
+ $newPayload[$oldLength] = $arg;
57
+
58
+ // Pass as single array argument to match Array constructor pattern
42
59
  return new Command($this->runtimeName, $this->commandType, $newPayload);
43
60
  }
44
61
 
@@ -91,16 +108,29 @@ final class Command implements CommandInterface
91
108
  public function __toString(): string
92
109
  {
93
110
  try {
94
- $result = 'RuntimeName: ';
111
+ $result = 'RuntimeName ';
95
112
  $result .= $this->runtimeName->getName();
96
- $result .= ' CommandType: ';
113
+ $result .= ' ';
114
+ $result .= 'CommandType ';
97
115
  $result .= $this->commandType->getName();
98
- $result .= ' Payload: ';
99
- $result .= json_encode($this->payload);
100
-
116
+ $result .= ' ';
117
+ $result .= 'Payload ';
118
+
119
+ $payload = $this->payload;
120
+ $len = count($payload);
121
+
122
+ for ($i = 0; $i < $len; $i++) {
123
+ $item = $payload[$i];
124
+ $result .= ($item !== null ? (string)$item : 'null');
125
+
126
+ if ($i < $len - 1) {
127
+ $result .= ' ';
128
+ }
129
+ }
130
+
101
131
  return $result;
102
132
  } catch (Exception $e) {
103
- return 'Error while converting command to string: ' . $e->getMessage();
133
+ return 'Error while converting command to string:' . $e->getMessage();
104
134
  }
105
135
  }
106
136
 
@@ -128,11 +158,43 @@ final class Command implements CommandInterface
128
158
  return new self($this->runtimeName, $this->commandType, $this->payload);
129
159
  }
130
160
 
131
- return new self(
132
- $this->runtimeName,
133
- $this->commandType,
134
- [$currentCommand, ...$this->payload]
135
- );
161
+ $oldLength = count($this->payload);
162
+ $newPayload = [];
163
+
164
+ // Put new element at the front
165
+ $newPayload[0] = $currentCommand;
166
+
167
+ if ($oldLength > 0) {
168
+ // Copy existing payload starting from index 1
169
+ foreach ($this->payload as $item) {
170
+ $newPayload[] = $item;
171
+ }
172
+ }
173
+
174
+ // Pass as single array argument to match Array constructor pattern
175
+ return new self($this->runtimeName, $this->commandType, $newPayload);
176
+ }
177
+
178
+ /**
179
+ * Drop first payload argument and return new Command
180
+ */
181
+ public function dropFirstPayloadArg(): CommandInterface
182
+ {
183
+ $payloadLength = count($this->payload);
184
+
185
+ if ($payloadLength <= 1) {
186
+ return new Command($this->runtimeName, $this->commandType);
187
+ }
188
+
189
+ $newPayload = [];
190
+
191
+ // Copy from index 1 to end
192
+ for ($i = 1; $i < $payloadLength; $i++) {
193
+ $newPayload[] = $this->payload[$i];
194
+ }
195
+
196
+ // Pass as single array argument to match Array constructor pattern
197
+ return new Command($this->runtimeName, $this->commandType, $newPayload);
136
198
  }
137
199
 
138
200
  /**
@@ -148,16 +210,18 @@ final class Command implements CommandInterface
148
210
  return false;
149
211
  }
150
212
 
151
- if ($this->runtimeName !== $element->runtimeName || $this->commandType !== $element->commandType) {
213
+ if ($this->runtimeName->getValue() !== $element->getRuntimeName()->getValue() ||
214
+ $this->commandType->getValue() !== $element->getCommandType()->getValue()) {
152
215
  return false;
153
216
  }
154
217
 
155
- if (count($this->payload) !== count($element->payload)) {
218
+ $elementPayload = $element->getPayload();
219
+ if (count($this->payload) !== count($elementPayload)) {
156
220
  return false;
157
221
  }
158
222
 
159
223
  foreach ($this->payload as $index => $payloadItem) {
160
- $elementPayloadItem = $element->payload[$index];
224
+ $elementPayloadItem = $elementPayload[$index];
161
225
 
162
226
  if ($payloadItem instanceof CommandInterface && $elementPayloadItem instanceof CommandInterface) {
163
227
  if (!$payloadItem->equals($elementPayloadItem)) {
@@ -45,8 +45,7 @@ final class DynamicMethodFactory
45
45
  $payload
46
46
  );
47
47
 
48
- $interpreter = new Interpreter();
49
- $executeCall = $interpreter->execute(
48
+ $executeCall = Interpreter::execute(
50
49
  $invokeDelegateCommand,
51
50
  new InMemoryConnectionData()
52
51
  );
@@ -27,7 +27,21 @@ final class ExceptionSerializer
27
27
  $exceptionName = basename(str_replace('\\', '/', get_class($exception)));
28
28
 
29
29
  $exceptionCommand = $exceptionCommand->addArgToPayload(ExceptionType::getExceptionCodeByExceptionName($exceptionName));
30
- $exceptionCommand = $exceptionCommand->addArgToPayload((string)$command);
30
+ $commandString = '';
31
+ try {
32
+ if (is_string($command)) {
33
+ $commandString = $command;
34
+ } elseif (method_exists($command, '__toString')) {
35
+ $commandString = (string)$command;
36
+ } else {
37
+ $encoded = json_encode($command, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
38
+ $commandString = $encoded !== false ? $encoded : get_class($command);
39
+ }
40
+ } catch (\Throwable $e) {
41
+ $commandString = get_class($command);
42
+ }
43
+
44
+ $exceptionCommand = $exceptionCommand->addArgToPayload($commandString);
31
45
  $exceptionCommand = $exceptionCommand->addArgToPayload($exceptionName);
32
46
  $exceptionCommand = $exceptionCommand->addArgToPayload($exception->getMessage());
33
47
  $exceptionCommand = $exceptionCommand->addArgToPayload($stackClasses);
@@ -37,4 +37,36 @@ final class RuntimeNameHandler
37
37
  throw new \Exception('Invalid runtime name.');
38
38
  }
39
39
  }
40
+
41
+ public static function getRuntimeName(string $runtime): RuntimeName
42
+ {
43
+ switch (strtolower($runtime)) {
44
+ case 'clr':
45
+ return new RuntimeName(RuntimeName::CLR);
46
+ case 'go':
47
+ return new RuntimeName(RuntimeName::GO);
48
+ case 'jvm':
49
+ return new RuntimeName(RuntimeName::JVM);
50
+ case 'netcore':
51
+ return new RuntimeName(RuntimeName::NETCORE);
52
+ case 'perl':
53
+ return new RuntimeName(RuntimeName::PERL);
54
+ case 'python':
55
+ return new RuntimeName(RuntimeName::PYTHON);
56
+ case 'ruby':
57
+ return new RuntimeName(RuntimeName::RUBY);
58
+ case 'nodejs':
59
+ return new RuntimeName(RuntimeName::NODEJS);
60
+ case 'cpp':
61
+ return new RuntimeName(RuntimeName::CPP);
62
+ case 'php':
63
+ return new RuntimeName(RuntimeName::PHP);
64
+ case 'python27':
65
+ return new RuntimeName(RuntimeName::PYTHON27);
66
+ case 'none':
67
+ return new RuntimeName(RuntimeName::NONE);
68
+ default:
69
+ throw new \Exception('Invalid runtime name string.');
70
+ }
71
+ }
40
72
  }
@@ -28,9 +28,12 @@ final class UtilsConst
28
28
 
29
29
  public static function getJavonetWorkingDirectory(): string
30
30
  {
31
- if (empty(self::$javonetWorkingDirectory)) {
32
- return self::$javonetWorkingDirectory = dirname(__DIR__) . '/';
33
- }
31
+ if (empty(self::$javonetWorkingDirectory)) {
32
+ $base = str_replace('\\', '/', dirname(__DIR__));
33
+ self::$javonetWorkingDirectory = rtrim($base, '/') . '/';
34
+ } else {
35
+ self::$javonetWorkingDirectory = rtrim(str_replace('\\', '/', self::$javonetWorkingDirectory), '/') . '/';
36
+ }
34
37
 
35
38
  return self::$javonetWorkingDirectory;
36
39
  }
@@ -12,4 +12,4 @@ interface IConnectionData
12
12
  public function getHostname(): string;
13
13
  public function serializeConnectionData(): array;
14
14
  public function toString(): string;
15
- }
15
+ }
@@ -32,4 +32,4 @@ final class InMemoryConnectionData implements IConnectionData
32
32
  {
33
33
  return $this->getHostname();
34
34
  }
35
- }
35
+ }
@@ -60,6 +60,11 @@ final class TcpConnectionData implements IConnectionData
60
60
  ];
61
61
  }
62
62
 
63
+ public function getPort(): int
64
+ {
65
+ return $this->port;
66
+ }
67
+
63
68
  public function toString(): string
64
69
  {
65
70
  return $this->ipAddress . ':' . $this->port;
@@ -69,4 +74,4 @@ final class TcpConnectionData implements IConnectionData
69
74
  {
70
75
  return $this->ipAddress . ':' . $this->port;
71
76
  }
72
- }
77
+ }
@@ -40,4 +40,4 @@ final class WsConnectionData implements IConnectionData
40
40
  {
41
41
  return $this->hostName;
42
42
  }
43
- }
43
+ }
@@ -3,10 +3,10 @@ from ctypes import *
3
3
  def callbackFunc(message_byte_array, message_byte_array_len):
4
4
  message_byte_array_py = bytearray((c_ubyte * message_byte_array_len).from_address(
5
5
  addressof(message_byte_array.contents)))
6
- message_byte_array_len_py = int(message_byte_array_len)
7
6
  from javonet.core.receiver.Receiver import Receiver
8
- python_receiver = Receiver()
7
+ # Initialize exception handler if not already done
8
+ Receiver.initialize_exception_handler()
9
9
  if message_byte_array[10] == 11:
10
- return python_receiver.HeartBeat(message_byte_array_py, message_byte_array_len_py)
10
+ return Receiver.heart_beat(message_byte_array_py)
11
11
  else:
12
- return python_receiver.SendCommand(message_byte_array_py, message_byte_array_len_py)
12
+ return Receiver.send_command(message_byte_array_py)