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
@@ -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);
@@ -15,7 +15,10 @@ use utils\exception\JavonetArgumentsMismatchException;
15
15
  final class LoadLibraryHandler extends AbstractHandler
16
16
  {
17
17
  private const REQUIRED_ARGUMENTS_COUNT = 1;
18
+ private const MAX_DIRECTORY_DEPTH = 10;
18
19
  private static array $loadedLibraries = [];
20
+ private static array $loadedAutoloaders = [];
21
+ private static array $registeredPsr4Autoloaders = [];
19
22
  private array $loadedClassPaths = [];
20
23
 
21
24
  public function process(CommandInterface $command): int
@@ -149,10 +152,117 @@ final class LoadLibraryHandler extends AbstractHandler
149
152
  throw new Exception(sprintf('PHP syntax error in file %s: %s', $realPath, $lastError['message']));
150
153
  }
151
154
 
155
+ // Try to find and load Composer autoloader before including the file
156
+ $this->findAndLoadComposerAutoloader($realPath);
157
+
152
158
  include_once $realPath;
153
159
  self::$loadedPhpFiles[] = $realPath;
154
160
  }
155
161
 
162
+ /**
163
+ * Searches for Composer autoloader in the directory hierarchy and loads it.
164
+ * Falls back to registering PSR-4 autoloader from composer.json if vendor/autoload.php is not available.
165
+ */
166
+ private function findAndLoadComposerAutoloader(string $filePath): void
167
+ {
168
+ $directory = dirname($filePath);
169
+
170
+ for ($i = 0; $i < self::MAX_DIRECTORY_DEPTH; $i++) {
171
+ $vendorAutoloader = $directory . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
172
+ $composerJson = $directory . DIRECTORY_SEPARATOR . 'composer.json';
173
+
174
+ // Prefer ready-made vendor autoloader
175
+ if (file_exists($vendorAutoloader)) {
176
+ $this->loadVendorAutoloader($vendorAutoloader);
177
+ return;
178
+ }
179
+
180
+ // Fallback: build autoloader from composer.json
181
+ if (file_exists($composerJson)) {
182
+ $this->registerAutoloaderFromComposerJson($composerJson, $directory);
183
+ return;
184
+ }
185
+
186
+ $parentDirectory = dirname($directory);
187
+ // Reached filesystem root
188
+ if ($parentDirectory === $directory) {
189
+ break;
190
+ }
191
+ $directory = $parentDirectory;
192
+ }
193
+ }
194
+
195
+ /**
196
+ * Loads vendor autoloader if not already loaded.
197
+ */
198
+ private function loadVendorAutoloader(string $autoloaderPath): void
199
+ {
200
+ $realAutoloaderPath = realpath($autoloaderPath);
201
+
202
+ if ($realAutoloaderPath === false) {
203
+ return;
204
+ }
205
+
206
+ // Don't load the same autoloader twice
207
+ if (in_array($realAutoloaderPath, self::$loadedAutoloaders, true)) {
208
+ return;
209
+ }
210
+
211
+ include_once $realAutoloaderPath;
212
+ self::$loadedAutoloaders[] = $realAutoloaderPath;
213
+ }
214
+
215
+ /**
216
+ * Registers PSR-4 autoloader based on composer.json configuration.
217
+ * This is a fallback when vendor/autoload.php is not available.
218
+ */
219
+ private function registerAutoloaderFromComposerJson(string $composerJsonPath, string $baseDir): void
220
+ {
221
+ $realComposerJsonPath = realpath($composerJsonPath);
222
+
223
+ if ($realComposerJsonPath === false) {
224
+ return;
225
+ }
226
+
227
+ // Don't register autoloader for the same composer.json twice
228
+ if (in_array($realComposerJsonPath, self::$registeredPsr4Autoloaders, true)) {
229
+ return;
230
+ }
231
+
232
+ $composerContent = file_get_contents($realComposerJsonPath);
233
+ if ($composerContent === false) {
234
+ return;
235
+ }
236
+
237
+ $composerConfig = json_decode($composerContent, true);
238
+ if ($composerConfig === null || !isset($composerConfig['autoload']['psr-4'])) {
239
+ return;
240
+ }
241
+
242
+ $psr4Map = $composerConfig['autoload']['psr-4'];
243
+ $realBaseDir = realpath($baseDir) ?: $baseDir;
244
+
245
+ spl_autoload_register(function (string $class) use ($psr4Map, $realBaseDir): void {
246
+ foreach ($psr4Map as $prefix => $path) {
247
+ $prefixLength = strlen($prefix);
248
+
249
+ if (strncmp($class, $prefix, $prefixLength) !== 0) {
250
+ continue;
251
+ }
252
+
253
+ $relativeClass = substr($class, $prefixLength);
254
+ $file = $realBaseDir . DIRECTORY_SEPARATOR . $path . str_replace('\\', DIRECTORY_SEPARATOR, $relativeClass) . '.php';
255
+
256
+ if (file_exists($file)) {
257
+ include_once $file;
258
+ return;
259
+ }
260
+ }
261
+ });
262
+
263
+ self::$registeredPsr4Autoloaders[] = $realComposerJsonPath;
264
+ }
265
+
156
266
  private function autoloadPhpFilesFromDirectory(string $directory): void
157
267
  {
158
268
  $iterator = new RecursiveIteratorIterator(
@@ -23,29 +23,30 @@ use utils\Uri;
23
23
 
24
24
  final class Interpreter
25
25
  {
26
- private string $debugMode;
27
- private Handler $handler;
26
+ private function __construct()
27
+ {
28
+ }
28
29
 
29
- public function __construct()
30
+ private static function getDebugMode(): string
30
31
  {
31
- $this->debugMode = getenv('DEBUG') !== false ? getenv('DEBUG') : 'FALSE';
32
- $this->handler = new Handler();
32
+ return getenv('DEBUG') !== false ? getenv('DEBUG') : 'FALSE';
33
33
  }
34
34
 
35
- public function execute(CommandInterface $command, IConnectionData $connectionData): CommandInterface
35
+ public static function execute(CommandInterface $command, IConnectionData $IConnectionData): CommandInterface
36
36
  {
37
- if ($this->debugMode === 'TRUE') {
37
+ $debugMode = self::getDebugMode();
38
+ if ($debugMode === 'TRUE') {
38
39
  echo 'Sent command: ' . $command;
39
40
  MessageHelper::getInstance()->sendMessageToAppInsights('SentCommand', $command->toString());
40
41
  }
41
42
 
42
- $responseByteArray = $this->getResponseByteArray($command, $connectionData);
43
+ $responseByteArray = self::getResponseByteArray($command, $IConnectionData);
43
44
  if ($responseByteArray instanceof Command) {
44
45
  return $responseByteArray;
45
46
  }
46
47
 
47
48
  $response = CommandDeserializer::deserialize($responseByteArray);
48
- if ($this->debugMode === 'TRUE') {
49
+ if ($debugMode === 'TRUE') {
49
50
  echo 'Received command: ' . $response;
50
51
  MessageHelper::getInstance()->sendMessageToAppInsights('ReceivedCommand', $response->toString());
51
52
  }
@@ -53,13 +54,13 @@ final class Interpreter
53
54
  return $response;
54
55
  }
55
56
 
56
- private function getResponseByteArray(Command $command, IConnectionData $connectionData)
57
+ private static function getResponseByteArray(Command $command, IConnectionData $IConnectionData)
57
58
  {
58
- $messageByteArray = CommandSerializer::serialize($command, $connectionData);
59
- if ($this->isWebSocket($connectionData))
59
+ $messageByteArray = CommandSerializer::serialize($command, $IConnectionData);
60
+ if (self::isWebSocket($IConnectionData))
60
61
  {
61
62
  try {
62
- return WebSocketClient::sendMessage(new Uri($connectionData->getHostname()), $messageByteArray);
63
+ return WebSocketClient::sendMessage(new Uri($IConnectionData->getHostname()), $messageByteArray);
63
64
  } catch (Exception $e) {
64
65
  if ($e->getPrevious() instanceof Throwable) {
65
66
  return ExceptionSerializer::serializeException($e->getPrevious(), $command);
@@ -69,34 +70,35 @@ final class Interpreter
69
70
  }
70
71
  }
71
72
 
72
- if ($this->isInMemoryAndSameRuntime($command, $connectionData)) {
73
- return (new Receiver())->sendCommand($messageByteArray);
73
+ if (self::isInMemoryAndSameRuntime($command, $IConnectionData)) {
74
+ return Receiver::sendCommand($messageByteArray);
74
75
  }
75
76
 
76
77
  return Transmitter::sendCommand($messageByteArray);
77
78
  }
78
79
 
79
- private function isWebSocket(IConnectionData $connectionData): bool
80
+ private static function isWebSocket(IConnectionData $IConnectionData): bool
80
81
  {
81
- return $connectionData->getConnectionType()->equalsByValue(ConnectionType::WEB_SOCKET);
82
+ return $IConnectionData->getConnectionType()->equalsByValue(ConnectionType::WEB_SOCKET);
82
83
  }
83
84
 
84
- private function isInMemoryAndSameRuntime(Command $command, IConnectionData $connectionData): bool
85
+ private static function isInMemoryAndSameRuntime(Command $command, IConnectionData $IConnectionData): bool
85
86
  {
86
87
  return $command->getRuntimeName()->equalsByValue(RuntimeName::PHP)
87
- && $connectionData->getConnectionType()->equalsByValue(ConnectionType::IN_MEMORY);
88
+ && $IConnectionData->getConnectionType()->equalsByValue(ConnectionType::IN_MEMORY);
88
89
  }
89
90
 
90
- public function process(array $byteArray): CommandInterface
91
+ public static function process(array $byteArray): CommandInterface
91
92
  {
93
+ $debugMode = self::getDebugMode();
92
94
  $receivedCommand = CommandDeserializer::deserialize($byteArray);
93
- if ($this->debugMode === 'TRUE') {
95
+ if ($debugMode === 'TRUE') {
94
96
  echo 'Received command: ' . $receivedCommand;
95
97
  MessageHelper::getInstance()->sendMessageToAppInsights('ReceivedCommand', $receivedCommand->toString());
96
98
  }
97
99
 
98
- $response = $this->handler->handleCommand($receivedCommand);
99
- if ($this->debugMode === 'TRUE') {
100
+ $response = Handler::handleCommand($receivedCommand);
101
+ if ($debugMode === 'TRUE') {
100
102
  echo 'Response command: ' . $response;
101
103
  MessageHelper::getInstance()->sendMessageToAppInsights('ResponseCommand', $response->toString());
102
104
  }
@@ -27,7 +27,7 @@ final class CommandSerializer
27
27
  *
28
28
  * @return int[]
29
29
  */
30
- public static function serialize(CommandInterface $rootCommand, ?IConnectionData $connectionData): array
30
+ public static function serialize(CommandInterface $rootCommand, ?IConnectionData $IConnectionData): array
31
31
  {
32
32
  try {
33
33
  $buffer = [];
@@ -37,7 +37,7 @@ final class CommandSerializer
37
37
  $buffer[] = 0; // runtimeVersion
38
38
 
39
39
  // Write connection data
40
- self::insertIntoBuffer($buffer, self::getDataByConnectionData($connectionData));
40
+ self::insertIntoBuffer($buffer, self::getDataByIConnectionData($IConnectionData));
41
41
 
42
42
  // Write runtime name and command type header for PHP runtime
43
43
  self::insertIntoBuffer($buffer, [
@@ -61,10 +61,10 @@ final class CommandSerializer
61
61
  /**
62
62
  * @return int[]
63
63
  */
64
- private static function getDataByConnectionData(?IConnectionData $connectionData): array
64
+ private static function getDataByIConnectionData(?IConnectionData $IConnectionData): array
65
65
  {
66
- if ($connectionData !== null) {
67
- return $connectionData->serializeConnectionData();
66
+ if ($IConnectionData !== null) {
67
+ return $IConnectionData->serializeConnectionData();
68
68
  }
69
69
 
70
70
  return self::DEFAULT_SERIALIZER_CONNECTION_DATA;
@@ -17,11 +17,14 @@ use utils\type\CommandType;
17
17
 
18
18
  final class Receiver
19
19
  {
20
+ private function __construct()
21
+ {
22
+ }
20
23
 
21
- public function sendCommand(array $messageByteArray): array
24
+ public static function sendCommand(array $messageByteArray): array
22
25
  {
23
26
  try {
24
- $result = (new Interpreter())->process($messageByteArray);
27
+ $result = Interpreter::process($messageByteArray);
25
28
  return CommandSerializer::serialize($result, null);
26
29
  } catch (Throwable $ex) {
27
30
  $exceptionCommand = ExceptionSerializer::serializeException(
@@ -32,12 +35,12 @@ final class Receiver
32
35
  }
33
36
  }
34
37
 
35
- public function heartBeat(array $messageByteArray): array
38
+ public static function heartBeat(array $messageByteArray): array
36
39
  {
37
40
  return [$messageByteArray[11], $messageByteArray[12] - 2];
38
41
  }
39
42
 
40
- public function getRuntimeInfo(): string
43
+ public static function getRuntimeInfo(): string
41
44
  {
42
45
  return RuntimeLogger::getRuntimeInfo();
43
46
  }