javonet-ruby-sdk 2.6.8 → 2.6.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -4
  3. data/README.md +1 -1
  4. data/Rakefile +38 -30
  5. data/VERSION +1 -1
  6. data/javonet-ruby-sdk.gemspec +38 -38
  7. data/lib/javonet-ruby-sdk/Binaries/Clr/Javonet.Clr.Utils.dll +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Clr/JavonetClrRuntime.dll +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
  10. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libConfigs.so +0 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
  12. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetCppRuntimeNative.so +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetGoRuntimeNative.so +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
  15. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetNetcoreRuntimeNative.so +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetPhpRuntimeNative.so +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetPythonRuntimeNative.so +0 -0
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRubyRuntimeNative.so +0 -0
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpClient.so +0 -0
  20. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpTlsClient.so +0 -0
  21. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/version.txt +1 -1
  23. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libConfigs.so +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs2218RuntimeNative.so +0 -0
  30. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerl534RuntimeNative.so +0 -0
  32. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPhp848RuntimeNative.so +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPhpRuntimeNative.so +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPython2RuntimeNative.so +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  37. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpClient.so +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpTlsClient.so +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  41. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
  42. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libConfigs.dylib +0 -0
  43. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetActivationService.dylib +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetCppRuntimeNative.dylib +0 -0
  45. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetGoRuntimeNative.dylib +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetJvmRuntimeNative.dylib +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  48. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetPythonRuntimeNative.dylib +0 -0
  49. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetRubyRuntimeNative.dylib +0 -0
  50. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetTcpClient.dylib +0 -0
  51. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetTcpTlsClient.dylib +0 -0
  52. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libUtils.dylib +0 -0
  53. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/version.txt +1 -1
  54. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libConfigs.dylib +0 -0
  55. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
  56. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  57. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  58. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  59. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  60. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs2218RuntimeNative.dylib +0 -0
  61. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  62. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  63. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPhp848RuntimeNative.dylib +0 -0
  64. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPhpRuntimeNative.dylib +0 -0
  65. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  66. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  67. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpClient.dylib +0 -0
  68. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpTlsClient.dylib +0 -0
  69. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  70. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
  71. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Configs.dll +0 -0
  72. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
  73. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
  74. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
  75. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
  76. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
  77. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPhpRuntimeNative.dll +0 -0
  78. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
  79. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
  80. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
  81. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
  82. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
  83. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/version.txt +0 -0
  84. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Configs.dll +0 -0
  85. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  86. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  87. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  88. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  89. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  90. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  91. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs2218RuntimeNative.dll +0 -0
  92. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  93. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  94. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPhp848RuntimeNative.dll +0 -0
  95. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPhpRuntimeNative.dll +0 -0
  96. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPython2RuntimeNative.dll +0 -0
  97. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  98. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  99. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
  100. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
  101. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  102. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
  103. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Configs.dll +0 -0
  104. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
  105. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
  106. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
  107. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
  108. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
  109. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
  110. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPhpRuntimeNative.dll +0 -0
  111. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPython2RuntimeNative.dll +0 -0
  112. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
  113. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
  114. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
  115. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Utils.dll +0 -0
  116. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/version.txt +1 -1
  117. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
  118. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Plugins.dll +0 -0
  119. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
  120. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/Handler.cjs +61 -21
  121. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/InvokeInstanceMethodHandler.cjs +1 -1
  122. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/InvokeStaticMethodHandler.cjs +1 -1
  123. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/PassDelegateHandler.cjs +13 -5
  124. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/RegisterForUpdateHandler.cjs +60 -0
  125. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/ValueForUpdateHandler.cjs +36 -0
  126. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/interpreter/Interpreter.cjs +4 -13
  127. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/protocol/CommandDeserializer.cjs +1 -1
  128. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/protocol/CommandSerializer.cjs +5 -5
  129. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/receiver/Receiver.cjs +4 -7
  130. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/InvocationContext.cjs +111 -28
  131. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/Javonet.cjs +3 -1
  132. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/RuntimeContext.cjs +30 -12
  133. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/RuntimeFactory.cjs +0 -22
  134. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/Handler.d.ts +12 -5
  135. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/PassDelegateHandler.d.ts +0 -5
  136. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/RegisterForUpdateHandler.d.ts +17 -0
  137. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/ValueForUpdateHandler.d.ts +7 -0
  138. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/interpreter/Interpreter.d.ts +2 -7
  139. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/protocol/CommandSerializer.d.ts +2 -2
  140. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/receiver/Receiver.d.ts +0 -1
  141. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/InvocationContext.d.ts +10 -13
  142. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/Javonet.d.ts +2 -2
  143. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/RuntimeContext.d.ts +8 -3
  144. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/RuntimeFactory.d.ts +0 -8
  145. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/utils/CommandType.d.ts +2 -0
  146. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/CommandType.cjs +3 -1
  147. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
  148. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
  149. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
  150. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
  151. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  152. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
  153. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
  154. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
  155. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  156. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/lib/libplfill.so +0 -0
  157. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +96 -96
  158. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/RegisterForUpdateHandler.pm +29 -0
  159. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/PerlHandler.pm +17 -10
  160. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Interpreter/Interpreter.pm +6 -14
  161. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/CommandDeserializer.pm +196 -190
  162. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +13 -14
  163. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/TypeDeserializer.pm +11 -12
  164. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/TypeSerializer.pm +17 -20
  165. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Receiver/Receiver.pm +4 -3
  166. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommand.pm +166 -54
  167. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +2 -1
  168. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +0 -2
  169. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +0 -1
  170. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-events.bat +0 -0
  171. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-highlight.bat +0 -0
  172. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load-dump.bat +0 -0
  173. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load.bat +0 -0
  174. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-parse-emit.bat +0 -0
  175. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  176. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  177. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
  178. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  179. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  180. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +21 -21
  181. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/RegisterForUpdateHandler.pm +29 -0
  182. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/PerlHandler.pm +17 -10
  183. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Interpreter/Interpreter.pm +6 -14
  184. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/CommandDeserializer.pm +196 -190
  185. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +13 -14
  186. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/TypeDeserializer.pm +11 -12
  187. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/TypeSerializer.pm +17 -20
  188. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Receiver/Receiver.pm +4 -3
  189. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommand.pm +166 -54
  190. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +2 -1
  191. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +0 -2
  192. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +0 -1
  193. data/lib/javonet-ruby-sdk/Binaries/Php/composer.json +6 -5
  194. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/handler/AbstractHandler.php +1 -2
  195. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/handler/Handler.php +74 -58
  196. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/handler/LoadLibraryHandler.php +110 -0
  197. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/interpreter/Interpreter.php +25 -23
  198. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/protocol/CommandSerializer.php +5 -5
  199. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/receiver/Receiver.php +7 -4
  200. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/Command.php +86 -22
  201. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/DynamicMethodFactory.php +1 -2
  202. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/ExceptionSerializer.php +15 -1
  203. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/RuntimeNameHandler.php +32 -0
  204. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/UtilsConst.php +6 -3
  205. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/IConnectionData.php +1 -1
  206. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/InMemoryConnectionData.php +1 -1
  207. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/TcpConnectionData.php +6 -1
  208. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/WsConnectionData.php +1 -1
  209. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/callback/callbackFunc.py +4 -4
  210. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/AsOutHandler.py +1 -1
  211. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/CreateClassInstanceHandler.py +0 -2
  212. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/Handler.py +95 -50
  213. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/PassDelegateHandler.py +1 -1
  214. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/RegisterForUpdateHandler.py +38 -0
  215. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/ValueForUpdateHandler.py +6 -0
  216. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/Interpreter.py +13 -13
  217. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandDeserializer.py +143 -155
  218. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py +7 -5
  219. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/Receiver.py +64 -21
  220. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/Command.py +114 -45
  221. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/CommandType.py +3 -1
  222. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/callback/callbackFunc.py +2 -3
  223. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/GetKwargHandler.py +5 -0
  224. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/Handler.py +30 -12
  225. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/InvokeDelegateHandler.py +2 -2
  226. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/InvokeGlobalFunctionHandler.py +2 -2
  227. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/interpreter/Interpreter.py +9 -9
  228. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/protocol/CommandDeserializer.py +149 -130
  229. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/protocol/CommandSerializer.py +21 -17
  230. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/receiver/Receiver.py +11 -10
  231. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/Command.py +89 -24
  232. data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
  233. data/lib/javonet-ruby-sdk/core/handler/abstract_command_handler.rb +23 -23
  234. data/lib/javonet-ruby-sdk/core/handler/abstract_handler.rb +4 -4
  235. data/lib/javonet-ruby-sdk/core/handler/add_event_listener_handler.rb +12 -12
  236. data/lib/javonet-ruby-sdk/core/handler/array_get_item_handler.rb +47 -47
  237. data/lib/javonet-ruby-sdk/core/handler/array_get_rank_handler.rb +22 -22
  238. data/lib/javonet-ruby-sdk/core/handler/array_get_size_handler.rb +36 -36
  239. data/lib/javonet-ruby-sdk/core/handler/array_handler.rb +12 -12
  240. data/lib/javonet-ruby-sdk/core/handler/array_reference_handler.rb +12 -12
  241. data/lib/javonet-ruby-sdk/core/handler/array_set_item_handler.rb +46 -46
  242. data/lib/javonet-ruby-sdk/core/handler/as_kwargs_handler.rb +12 -12
  243. data/lib/javonet-ruby-sdk/core/handler/as_out_handler.rb +12 -12
  244. data/lib/javonet-ruby-sdk/core/handler/as_ref_handler.rb +11 -11
  245. data/lib/javonet-ruby-sdk/core/handler/casting_handler.rb +11 -11
  246. data/lib/javonet-ruby-sdk/core/handler/convert_type_handler.rb +11 -11
  247. data/lib/javonet-ruby-sdk/core/handler/create_class_instance_handler.rb +34 -34
  248. data/lib/javonet-ruby-sdk/core/handler/create_null_handler.rb +12 -12
  249. data/lib/javonet-ruby-sdk/core/handler/destruct_reference_handler.rb +20 -20
  250. data/lib/javonet-ruby-sdk/core/handler/enable_namespace_handler.rb +30 -30
  251. data/lib/javonet-ruby-sdk/core/handler/enable_type_handler.rb +32 -32
  252. data/lib/javonet-ruby-sdk/core/handler/exception_handler.rb +12 -12
  253. data/lib/javonet-ruby-sdk/core/handler/generate_lib_handler.rb +12 -12
  254. data/lib/javonet-ruby-sdk/core/handler/get_async_operation_result_handler.rb +12 -12
  255. data/lib/javonet-ruby-sdk/core/handler/get_enum_item_handler.rb +12 -12
  256. data/lib/javonet-ruby-sdk/core/handler/get_enum_name_handler.rb +12 -12
  257. data/lib/javonet-ruby-sdk/core/handler/get_enum_value_handler.rb +12 -12
  258. data/lib/javonet-ruby-sdk/core/handler/get_global_field_handler.rb +11 -11
  259. data/lib/javonet-ruby-sdk/core/handler/get_instance_field_handler.rb +34 -34
  260. data/lib/javonet-ruby-sdk/core/handler/get_instance_method_as_delegate_handler.rb +11 -11
  261. data/lib/javonet-ruby-sdk/core/handler/get_module_handler.rb +11 -11
  262. data/lib/javonet-ruby-sdk/core/handler/get_ref_value_handler.rb +11 -11
  263. data/lib/javonet-ruby-sdk/core/handler/get_result_type_handler.rb +12 -12
  264. data/lib/javonet-ruby-sdk/core/handler/get_static_field_handler.rb +34 -34
  265. data/lib/javonet-ruby-sdk/core/handler/get_static_method_as_delegate_handler.rb +11 -11
  266. data/lib/javonet-ruby-sdk/core/handler/get_type_handler.rb +70 -71
  267. data/lib/javonet-ruby-sdk/core/handler/handler.rb +227 -184
  268. data/lib/javonet-ruby-sdk/core/handler/handler_dictionary.rb +7 -7
  269. data/lib/javonet-ruby-sdk/core/handler/heartbeat_handler.rb +12 -12
  270. data/lib/javonet-ruby-sdk/core/handler/invoke_delegate_handler.rb +12 -12
  271. data/lib/javonet-ruby-sdk/core/handler/invoke_generic_method_handler.rb +11 -11
  272. data/lib/javonet-ruby-sdk/core/handler/invoke_generic_static_method_handler.rb +12 -12
  273. data/lib/javonet-ruby-sdk/core/handler/invoke_global_function_handler.rb +45 -45
  274. data/lib/javonet-ruby-sdk/core/handler/invoke_instance_method_handler.rb +35 -35
  275. data/lib/javonet-ruby-sdk/core/handler/invoke_static_method_handler.rb +38 -38
  276. data/lib/javonet-ruby-sdk/core/handler/load_library_handler.rb +49 -49
  277. data/lib/javonet-ruby-sdk/core/handler/optimize_handler.rb +12 -12
  278. data/lib/javonet-ruby-sdk/core/handler/pass_delegate_handler.rb +11 -11
  279. data/lib/javonet-ruby-sdk/core/handler/plugin_wrapper_handler.rb +12 -12
  280. data/lib/javonet-ruby-sdk/core/handler/register_for_update_handler.rb +28 -0
  281. data/lib/javonet-ruby-sdk/core/handler/resolve_instance_handler.rb +29 -29
  282. data/lib/javonet-ruby-sdk/core/handler/retrieve_array_handler.rb +12 -12
  283. data/lib/javonet-ruby-sdk/core/handler/set_instance_field_handler.rb +35 -35
  284. data/lib/javonet-ruby-sdk/core/handler/set_static_field_handler.rb +31 -31
  285. data/lib/javonet-ruby-sdk/core/handler/value_for_update_handler.rb +11 -0
  286. data/lib/javonet-ruby-sdk/core/handler/value_handler.rb +6 -6
  287. data/lib/javonet-ruby-sdk/core/interpreter/interpreter.rb +26 -28
  288. data/lib/javonet-ruby-sdk/core/namespace_cache/namespace_cache.rb +42 -42
  289. data/lib/javonet-ruby-sdk/core/protocol/command_deserializer.rb +184 -184
  290. data/lib/javonet-ruby-sdk/core/protocol/command_serializer.rb +36 -36
  291. data/lib/javonet-ruby-sdk/core/protocol/type_deserializer.rb +65 -65
  292. data/lib/javonet-ruby-sdk/core/protocol/type_serializer.rb +120 -120
  293. data/lib/javonet-ruby-sdk/core/receiver/{receiver_new.rb → receiver.rb} +38 -42
  294. data/lib/javonet-ruby-sdk/core/reference_cache/references_cache.rb +39 -39
  295. data/lib/javonet-ruby-sdk/core/transmitter/transmitter.rb +58 -58
  296. data/lib/javonet-ruby-sdk/core/transmitter/transmitter_wrapper.rb +31 -31
  297. data/lib/javonet-ruby-sdk/core/type_cache/type_cache.rb +41 -41
  298. data/lib/javonet-ruby-sdk/core/web_socket_client/web_socket_client.rb +228 -228
  299. data/lib/javonet-ruby-sdk/sdk/config_runtime_factory.rb +132 -132
  300. data/lib/javonet-ruby-sdk/sdk/configuration/config.rb +32 -0
  301. data/lib/javonet-ruby-sdk/sdk/configuration/config_priority.rb +27 -0
  302. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/config_resolver.rb +80 -0
  303. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/connection_string_config_resolver.rb +89 -0
  304. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/json_config_resolver.rb +66 -0
  305. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/yaml_config_resolver.rb +77 -0
  306. data/lib/javonet-ruby-sdk/sdk/configuration/config_source_resolver.rb +70 -0
  307. data/lib/javonet-ruby-sdk/sdk/configuration/configs_dictionary.rb +48 -0
  308. data/lib/javonet-ruby-sdk/sdk/internal/abstract_config_runtime_factory.rb +33 -33
  309. data/lib/javonet-ruby-sdk/sdk/internal/abstract_invocation_context.rb +70 -70
  310. data/lib/javonet-ruby-sdk/sdk/internal/abstract_runtime_context.rb +10 -10
  311. data/lib/javonet-ruby-sdk/sdk/internal/abstract_runtime_factory.rb +37 -37
  312. data/lib/javonet-ruby-sdk/sdk/internal/invocation_context_iterator.rb +27 -27
  313. data/lib/javonet-ruby-sdk/sdk/invocation_context.rb +318 -319
  314. data/lib/javonet-ruby-sdk/sdk/javonet.rb +132 -106
  315. data/lib/javonet-ruby-sdk/sdk/runtime_context.rb +259 -218
  316. data/lib/javonet-ruby-sdk/sdk/runtime_factory.rb +78 -78
  317. data/lib/javonet-ruby-sdk/sdk/tools/activation_helper.rb +37 -37
  318. data/lib/javonet-ruby-sdk/sdk/tools/json_file_resolver.rb +62 -62
  319. data/lib/javonet-ruby-sdk/sdk/tools/sdk_message_helper.rb +71 -71
  320. data/lib/javonet-ruby-sdk/utils/command.rb +79 -93
  321. data/lib/javonet-ruby-sdk/utils/command_type.rb +154 -148
  322. data/lib/javonet-ruby-sdk/utils/connection_type.rb +5 -5
  323. data/lib/javonet-ruby-sdk/utils/exceptions/exception_serializer.rb +116 -116
  324. data/lib/javonet-ruby-sdk/utils/exceptions/exception_thrower.rb +65 -65
  325. data/lib/javonet-ruby-sdk/utils/exceptions/exception_type.rb +10 -10
  326. data/lib/javonet-ruby-sdk/utils/os_helper.rb +21 -21
  327. data/lib/javonet-ruby-sdk/utils/runtime_logger.rb +46 -46
  328. data/lib/javonet-ruby-sdk/utils/runtime_name_handler.rb +71 -40
  329. data/lib/javonet-ruby-sdk/utils/runtime_name_javonet.rb +13 -13
  330. data/lib/javonet-ruby-sdk/utils/string_encoding_mode_javonet.rb +6 -6
  331. data/lib/javonet-ruby-sdk/utils/tcp_connection_data.rb +36 -36
  332. data/lib/javonet-ruby-sdk/utils/type.rb +15 -15
  333. data/lib/javonet-ruby-sdk/utils/types_handler.rb +10 -10
  334. data/lib/javonet-ruby-sdk/utils/ws_connection_data.rb +23 -19
  335. metadata +24 -115
  336. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libcrypto-3-arm64.dll +0 -0
  337. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libssl-3-arm64.dll +0 -0
  338. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxml2.dll +0 -0
  339. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxmlsec-openssl.dll +0 -0
  340. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxmlsec.dll +0 -0
  341. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxslt.dll +0 -0
  342. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libcrypto-3-x64.dll +0 -0
  343. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libssl-3-x64.dll +0 -0
  344. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxml2.dll +0 -0
  345. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxmlsec-openssl.dll +0 -0
  346. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxmlsec.dll +0 -0
  347. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxslt.dll +0 -0
  348. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libcrypto-3.dll +0 -0
  349. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libssl-3.dll +0 -0
  350. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxml2.dll +0 -0
  351. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxmlsec-openssl.dll +0 -0
  352. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxmlsec.dll +0 -0
  353. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxslt.dll +0 -0
  354. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/__pycache__/__init__.cpython-312.pyc +0 -0
  355. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/DelegatesCache.cpython-312.pyc +0 -0
  356. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/__init__.cpython-312.pyc +0 -0
  357. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractCommandHandler.cpython-312.pyc +0 -0
  358. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractHandler.cpython-312.pyc +0 -0
  359. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AddEventListenerHandler.cpython-312.pyc +0 -0
  360. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetItemHandler.cpython-312.pyc +0 -0
  361. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetRankHandler.cpython-312.pyc +0 -0
  362. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetSizeHandler.cpython-312.pyc +0 -0
  363. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayHandler.cpython-312.pyc +0 -0
  364. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayReferenceHandler.cpython-312.pyc +0 -0
  365. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArraySetItemHandler.cpython-312.pyc +0 -0
  366. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AsOutHandler.cpython-312.pyc +0 -0
  367. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AsRefHandler.cpython-312.pyc +0 -0
  368. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CastingHandler.cpython-312.pyc +0 -0
  369. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ConvertTypeHandler.cpython-312.pyc +0 -0
  370. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateClassInstanceHandler.cpython-312.pyc +0 -0
  371. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateNullHandler.cpython-312.pyc +0 -0
  372. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/DestructReferenceHandler.cpython-312.pyc +0 -0
  373. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableNamespaceHandler.cpython-312.pyc +0 -0
  374. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableTypeHandler.cpython-312.pyc +0 -0
  375. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ExceptionHandler.cpython-312.pyc +0 -0
  376. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GenerateLibHandler.cpython-312.pyc +0 -0
  377. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetAsyncOperationResultHandler.cpython-312.pyc +0 -0
  378. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumItemHandler.cpython-312.pyc +0 -0
  379. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumNameHandler.cpython-312.pyc +0 -0
  380. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumValueHandler.cpython-312.pyc +0 -0
  381. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetGlobalFieldHandler.cpython-312.pyc +0 -0
  382. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceFieldHandler.cpython-312.pyc +0 -0
  383. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceMethodAsDelegateHandler.cpython-312.pyc +0 -0
  384. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetKwargHandler.cpython-312.pyc +0 -0
  385. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetModuleHandler.cpython-312.pyc +0 -0
  386. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetRefValueHandler.cpython-312.pyc +0 -0
  387. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetResultTypeHandler.cpython-312.pyc +0 -0
  388. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticFieldHandler.cpython-312.pyc +0 -0
  389. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticMethodAsDelegateHandler.cpython-312.pyc +0 -0
  390. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetTypeHandler.cpython-312.pyc +0 -0
  391. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/Handler.cpython-312.pyc +0 -0
  392. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HandlerDictionary.cpython-312.pyc +0 -0
  393. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HeartBeatHandler.cpython-312.pyc +0 -0
  394. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeDelegateHandler.cpython-312.pyc +0 -0
  395. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGenericMethodHandler.cpython-312.pyc +0 -0
  396. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGenericStaticMethodHandler.cpython-312.pyc +0 -0
  397. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGlobalFunctionHandler.cpython-312.pyc +0 -0
  398. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeInstanceMethodHandler.cpython-312.pyc +0 -0
  399. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeStaticMethodHandler.cpython-312.pyc +0 -0
  400. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/LoadLibraryHandler.cpython-312.pyc +0 -0
  401. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/OptimizeHandler.cpython-312.pyc +0 -0
  402. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PassDelegateHandler.cpython-312.pyc +0 -0
  403. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PluginWrapperHandler.cpython-312.pyc +0 -0
  404. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ResolveInstanceHandler.cpython-312.pyc +0 -0
  405. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/RetrieveArrayHandler.cpython-312.pyc +0 -0
  406. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetInstanceFieldHandler.cpython-312.pyc +0 -0
  407. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetStaticFieldHandler.cpython-312.pyc +0 -0
  408. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueHandler.cpython-312.pyc +0 -0
  409. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/__init__.cpython-312.pyc +0 -0
  410. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/Interpreter.cpython-312.pyc +0 -0
  411. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/__init__.cpython-312.pyc +0 -0
  412. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/NamespaceCache.cpython-312.pyc +0 -0
  413. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  414. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-312.pyc +0 -0
  415. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandSerializer.cpython-312.pyc +0 -0
  416. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-312.pyc +0 -0
  417. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeSerializer.cpython-312.pyc +0 -0
  418. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/__init__.cpython-312.pyc +0 -0
  419. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/Receiver.cpython-312.pyc +0 -0
  420. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/__init__.cpython-312.pyc +0 -0
  421. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/ReferencesCache.cpython-312.pyc +0 -0
  422. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  423. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/TypeCache.cpython-312.pyc +0 -0
  424. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/__init__.cpython-312.pyc +0 -0
  425. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Command.cpython-312.pyc +0 -0
  426. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/CommandType.cpython-312.pyc +0 -0
  427. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ConnectionType.cpython-312.pyc +0 -0
  428. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ExceptionType.cpython-312.pyc +0 -0
  429. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/LazyModuleLoader.cpython-312.pyc +0 -0
  430. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeLogger.cpython-312.pyc +0 -0
  431. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeName.cpython-312.pyc +0 -0
  432. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/StringEncodingMode.cpython-312.pyc +0 -0
  433. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Type.cpython-312.pyc +0 -0
  434. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/TypesHandler.cpython-312.pyc +0 -0
  435. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/UtilsConst.cpython-312.pyc +0 -0
  436. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  437. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/IConnectionData.cpython-312.pyc +0 -0
  438. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/InMemoryConnectionData.cpython-312.pyc +0 -0
  439. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/__init__.cpython-312.pyc +0 -0
  440. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-312.pyc +0 -0
  441. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionThrower.cpython-312.pyc +0 -0
  442. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/JavonetException.cpython-312.pyc +0 -0
  443. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/__init__.cpython-312.pyc +0 -0
  444. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/MessageHelper.cpython-312.pyc +0 -0
  445. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/__init__.cpython-312.pyc +0 -0
@@ -47,6 +47,8 @@ from javonet.core.handler.GetAsyncOperationResultHandler import GetAsyncOperatio
47
47
  from javonet.core.handler.GetKwargHandler import GetKwargHandler
48
48
  from javonet.core.handler.GetResultTypeHandler import GetResultTypeHandler
49
49
  from javonet.core.handler.GetGlobalFieldHandler import GetGlobalFieldHandler
50
+ from javonet.core.handler.RegisterForUpdateHandler import RegisterForUpdateHandler
51
+ from javonet.core.handler.ValueForUpdateHandler import ValueForUpdateHandler
50
52
 
51
53
 
52
54
  from javonet.core.handler.HandlerDictionary import handler_dict
@@ -58,65 +60,108 @@ from javonet.utils.Command import Command
58
60
 
59
61
 
60
62
  class Handler(AbstractHandler):
63
+ _initialized = False
64
+
65
+ @staticmethod
66
+ def _initialize():
67
+ """Initialize the handler dictionary. Should be called once."""
68
+ if not Handler._initialized:
69
+ handler_dict[CommandType.Value] = ValueHandler()
70
+ handler_dict[CommandType.LoadLibrary] = LoadLibraryHandler()
71
+ handler_dict[CommandType.InvokeStaticMethod] = InvokeStaticMethodHandler()
72
+ handler_dict[CommandType.GetStaticField] = GetStaticFieldHandler()
73
+ handler_dict[CommandType.SetStaticField] = SetStaticFieldHandler()
74
+ handler_dict[CommandType.CreateClassInstance] = CreateClassInstanceHandler()
75
+ handler_dict[CommandType.GetType] = GetTypeHandler()
76
+ handler_dict[CommandType.Reference] = ResolveInstanceHandler()
77
+ handler_dict[CommandType.GetModule] = GetModuleHandler()
78
+ handler_dict[CommandType.InvokeInstanceMethod] = InvokeInstanceMethodHandler()
79
+ handler_dict[CommandType.Exception] = ExceptionHandler()
80
+ handler_dict[CommandType.HeartBeat] = HeartBeatHandler()
81
+ handler_dict[CommandType.Cast] = CastingHandler()
82
+ handler_dict[CommandType.GetInstanceField] = GetInstanceFieldHandler()
83
+ handler_dict[CommandType.Optimize] = OptimizeHandler()
84
+ handler_dict[CommandType.GenerateLib] = GenerateLibHandler()
85
+ handler_dict[CommandType.InvokeGlobalFunction] = InvokeGlobalFunctionHandler()
86
+ handler_dict[CommandType.DestructReference] = DestructReferenceHandler()
87
+ handler_dict[CommandType.ArrayReference] = ArrayReferenceHandler()
88
+ handler_dict[CommandType.ArrayGetItem] = ArrayGetItemHandler()
89
+ handler_dict[CommandType.ArrayGetSize] = ArrayGetSizeHandler()
90
+ handler_dict[CommandType.ArrayGetRank] = ArrayGetRankHandler()
91
+ handler_dict[CommandType.ArraySetItem] = ArraySetItemHandler()
92
+ handler_dict[CommandType.Array] = ArrayHandler()
93
+ handler_dict[CommandType.RetrieveArray] = RetrieveArrayHandler()
94
+ handler_dict[CommandType.SetInstanceField] = SetInstanceFieldHandler()
95
+ handler_dict[CommandType.InvokeGenericStaticMethod] = InvokeGenericStaticMethodHandler()
96
+ handler_dict[CommandType.InvokeGenericMethod] = InvokeGenericMethodHandler()
97
+ handler_dict[CommandType.GetEnumItem] = GetEnumItemHandler()
98
+ handler_dict[CommandType.GetEnumName] = GetEnumNameHandler()
99
+ handler_dict[CommandType.GetEnumValue] = GetEnumValueHandler()
100
+ handler_dict[CommandType.AsRef] = AsRefHandler()
101
+ handler_dict[CommandType.AsOut] = AsOutHandler()
102
+ handler_dict[CommandType.GetRefValue] = GetRefValueHandler()
103
+ handler_dict[CommandType.EnableNamespace] = EnableNamespaceHandler()
104
+ handler_dict[CommandType.EnableType] = EnableTypeHandler()
105
+ handler_dict[CommandType.CreateNull] = CreateNullHandler()
106
+ handler_dict[CommandType.GetStaticMethodAsDelegate] = GetStaticMethodAsDelegateHandler()
107
+ handler_dict[CommandType.GetInstanceMethodAsDelegate] = GetInstanceMethodAsDelegateHandler()
108
+ handler_dict[CommandType.PassDelegate] = PassDelegateHandler()
109
+ handler_dict[CommandType.InvokeDelegate] = InvokeDelegateHandler()
110
+ handler_dict[CommandType.ConvertType] = ConvertTypeHandler()
111
+ handler_dict[CommandType.AddEventListener] = AddEventListenerHandler()
112
+ handler_dict[CommandType.PluginWrapper] = PluginWrapperHandler()
113
+ handler_dict[CommandType.GetAsyncOperationResult] = GetAsyncOperationResultHandler()
114
+ handler_dict[CommandType.AsKwargs] = GetKwargHandler()
115
+ handler_dict[CommandType.GetResultType] = GetResultTypeHandler()
116
+ handler_dict[CommandType.GetGlobalField] = GetGlobalFieldHandler()
117
+ handler_dict[CommandType.RegisterForUpdate] = RegisterForUpdateHandler()
118
+ handler_dict[CommandType.ValueForUpdate] = ValueForUpdateHandler()
119
+ Handler._initialized = True
61
120
 
62
121
  def __init__(self):
63
- handler_dict[CommandType.Value] = ValueHandler()
64
- handler_dict[CommandType.LoadLibrary] = LoadLibraryHandler()
65
- handler_dict[CommandType.InvokeStaticMethod] = InvokeStaticMethodHandler()
66
- handler_dict[CommandType.GetStaticField] = GetStaticFieldHandler()
67
- handler_dict[CommandType.SetStaticField] = SetStaticFieldHandler()
68
- handler_dict[CommandType.CreateClassInstance] = CreateClassInstanceHandler()
69
- handler_dict[CommandType.GetType] = GetTypeHandler()
70
- handler_dict[CommandType.Reference] = ResolveInstanceHandler()
71
- handler_dict[CommandType.GetModule] = GetModuleHandler()
72
- handler_dict[CommandType.InvokeInstanceMethod] = InvokeInstanceMethodHandler()
73
- handler_dict[CommandType.Exception] = ExceptionHandler()
74
- handler_dict[CommandType.HeartBeat] = HeartBeatHandler()
75
- handler_dict[CommandType.Cast] = CastingHandler()
76
- handler_dict[CommandType.GetInstanceField] = GetInstanceFieldHandler()
77
- handler_dict[CommandType.Optimize] = OptimizeHandler()
78
- handler_dict[CommandType.GenerateLib] = GenerateLibHandler()
79
- handler_dict[CommandType.InvokeGlobalFunction] = InvokeGlobalFunctionHandler()
80
- handler_dict[CommandType.DestructReference] = DestructReferenceHandler()
81
- handler_dict[CommandType.ArrayReference] = ArrayReferenceHandler()
82
- handler_dict[CommandType.ArrayGetItem] = ArrayGetItemHandler()
83
- handler_dict[CommandType.ArrayGetSize] = ArrayGetSizeHandler()
84
- handler_dict[CommandType.ArrayGetRank] = ArrayGetRankHandler()
85
- handler_dict[CommandType.ArraySetItem] = ArraySetItemHandler()
86
- handler_dict[CommandType.Array] = ArrayHandler()
87
- handler_dict[CommandType.RetrieveArray] = RetrieveArrayHandler()
88
- handler_dict[CommandType.SetInstanceField] = SetInstanceFieldHandler()
89
- handler_dict[CommandType.InvokeGenericStaticMethod] = InvokeGenericStaticMethodHandler()
90
- handler_dict[CommandType.InvokeGenericMethod] = InvokeGenericMethodHandler()
91
- handler_dict[CommandType.GetEnumItem] = GetEnumItemHandler()
92
- handler_dict[CommandType.GetEnumName] = GetEnumNameHandler()
93
- handler_dict[CommandType.GetEnumValue] = GetEnumValueHandler()
94
- handler_dict[CommandType.AsRef] = AsRefHandler()
95
- handler_dict[CommandType.AsOut] = AsOutHandler()
96
- handler_dict[CommandType.GetRefValue] = GetRefValueHandler()
97
- handler_dict[CommandType.EnableNamespace] = EnableNamespaceHandler()
98
- handler_dict[CommandType.EnableType] = EnableTypeHandler()
99
- handler_dict[CommandType.CreateNull] = CreateNullHandler()
100
- handler_dict[CommandType.GetStaticMethodAsDelegate] = GetStaticMethodAsDelegateHandler()
101
- handler_dict[CommandType.GetInstanceMethodAsDelegate] = GetInstanceMethodAsDelegateHandler()
102
- handler_dict[CommandType.PassDelegate] = PassDelegateHandler()
103
- handler_dict[CommandType.InvokeDelegate] = InvokeDelegateHandler()
104
- handler_dict[CommandType.ConvertType] = ConvertTypeHandler()
105
- handler_dict[CommandType.AddEventListener] = AddEventListenerHandler()
106
- handler_dict[CommandType.PluginWrapper] = PluginWrapperHandler()
107
- handler_dict[CommandType.GetAsyncOperationResult] = GetAsyncOperationResultHandler()
108
- handler_dict[CommandType.AsKwargs] = GetKwargHandler()
109
- handler_dict[CommandType.GetResultType] = GetResultTypeHandler()
110
- handler_dict[CommandType.GetGlobalField] = GetGlobalFieldHandler()
122
+ """Initialize Handler instance and set up handler dictionary if not already done."""
123
+ Handler._initialize()
124
+
125
+ @staticmethod
126
+ def handle_command(command):
127
+ """
128
+ Handle a command by routing it to the appropriate handler.
111
129
 
112
- def handle_command(self, command):
130
+ Args:
131
+ command: The command to handle.
132
+
133
+ Returns:
134
+ Command: The response command.
135
+ """
136
+ Handler._initialize()
113
137
  try:
114
138
  if command.command_type == CommandType.RetrieveArray:
115
139
  response_array = handler_dict[CommandType.Reference].handle_command(command.payload[0])
116
140
  return Command.create_array_response(response_array, command.runtime_name)
117
141
 
142
+ # Preprocess PluginWrapper before routing to specific handler
143
+ if command.command_type == CommandType.PluginWrapper:
144
+ command = PluginWrapperHandler().handle_command(command)
145
+
118
146
  response = handler_dict.get(command.command_type).handle_command(command)
119
- return self.__parse_response(response, command.runtime_name)
147
+ parsed = Handler.__parse_response(response, command.runtime_name)
148
+
149
+ # Append ValueForUpdate commands from RegisterForUpdateHandler contexts
150
+ contexts = RegisterForUpdateHandler._invocation_contexts.map
151
+ if contexts and len(contexts) > 0:
152
+ for guid, instance in list(contexts.items()):
153
+ instance_guid = ReferencesCache().cache_reference(instance)
154
+ update_cmd = Command(
155
+ command.runtime_name,
156
+ CommandType.ValueForUpdate,
157
+ [str(guid) if guid is not None else "",
158
+ instance_guid]
159
+ )
160
+ parsed = parsed.add_arg_to_payload(update_cmd)
161
+ # Clear all entries after processing this request
162
+ contexts.clear()
163
+
164
+ return parsed
120
165
  except Exception as e:
121
166
  return ExceptionSerializer.serialize_exception(e, command)
122
167
 
@@ -31,7 +31,7 @@ class PassDelegateHandler(AbstractCommandHandler):
31
31
  args_array
32
32
  )
33
33
  from javonet.core.interpreter.Interpreter import Interpreter
34
- response = Interpreter().execute(invoke_delegate_command, InMemoryConnectionData())
34
+ response = Interpreter.execute(invoke_delegate_command, InMemoryConnectionData())
35
35
  if response.command_type == CommandType.Exception:
36
36
  raise Exception("Exception occurred while invoking delegate:\n" + str(ExceptionThrower.throw_exception(response)))
37
37
 
@@ -0,0 +1,38 @@
1
+ import threading
2
+ from uuid import UUID
3
+ from javonet.core.handler.AbstractCommandHandler import *
4
+
5
+ class _ThreadContexts(threading.local):
6
+ def __init__(self):
7
+ # guid (UUID or empty GUID) -> object
8
+ self.map = {}
9
+
10
+ class RegisterForUpdateHandler(AbstractCommandHandler):
11
+ # Shared per process, separate dicts per thread
12
+ _invocation_contexts = _ThreadContexts()
13
+ _required_parameters_count = 2
14
+
15
+ @classmethod
16
+ def _get_or_create_context_dict(cls):
17
+ if getattr(cls._invocation_contexts, "map", None) is None:
18
+ cls._invocation_contexts.map = {}
19
+ return cls._invocation_contexts.map
20
+
21
+ def process(self, command):
22
+ # Validate minimal number of parameters
23
+ if command.payload is None or len(command.payload) < self._required_parameters_count:
24
+ raise ValueError(f"{self.__class__.__name__} requires at least {self._required_parameters_count} parameter(s).")
25
+
26
+ obj_to_register = command.payload[0]
27
+ guid_to_register = None
28
+ if len(command.payload) > 1 and command.payload[1]:
29
+ try:
30
+ guid_to_register = UUID(str(command.payload[1]))
31
+ except Exception:
32
+ # If invalid GUID, treat as no GUID
33
+ guid_to_register = None
34
+
35
+ ctx = self._get_or_create_context_dict()
36
+ # Use None as key when GUID is missing (analogous to Guid.Empty)
37
+ ctx[guid_to_register] = obj_to_register
38
+ return obj_to_register
@@ -0,0 +1,6 @@
1
+ from javonet.core.handler.AbstractCommandHandler import *
2
+
3
+ class ValueForUpdateHandler(AbstractCommandHandler):
4
+ def process(self, command):
5
+ # Special-cased in Handler.handle_command; placeholder only.
6
+ raise NotImplementedError(f"{self.__class__.__name__} is not implemented in Python.")
@@ -7,18 +7,17 @@ from javonet.utils.RuntimeName import RuntimeName
7
7
  from javonet.utils.connectionData.IConnectionData import IConnectionData
8
8
  from javonet.utils.messageHelper.MessageHelper import MessageHelper
9
9
 
10
- handler = Handler()
11
-
12
10
 
13
11
  class Interpreter:
14
12
  debug_mode = os.environ.get("JAVONET_DEBUG") == "TRUE"
15
13
 
16
- def execute(self, command, connection_data: IConnectionData):
17
- if self.debug_mode:
14
+ @staticmethod
15
+ def execute(command, connection_data: IConnectionData):
16
+ if Interpreter.debug_mode:
18
17
  print("Sent command: " + str(command))
19
18
  MessageHelper.send_message_to_app_insights("SentCommand", str(command))
20
19
 
21
- message_byte_array = CommandSerializer().serialize(command, connection_data)
20
+ message_byte_array = CommandSerializer.serialize(command, connection_data)
22
21
 
23
22
  if connection_data.connection_type == ConnectionType.WebSocket:
24
23
  from javonet.core.webSocketClient.WebSocketClient import WebSocketClient
@@ -26,29 +25,30 @@ class Interpreter:
26
25
  elif (command.runtime_name == RuntimeName.python) & (
27
26
  connection_data.connection_type == ConnectionType.InMemory):
28
27
  from javonet.core.receiver.Receiver import Receiver
29
- response_byte_array = Receiver().SendCommand(message_byte_array)
28
+ response_byte_array = Receiver.send_command(message_byte_array)
30
29
  else:
31
30
  from javonet.core.transmitter.Transmitter import Transmitter
32
31
  response_byte_array = Transmitter.send_command(message_byte_array)
33
32
 
34
- response = CommandDeserializer(response_byte_array).deserialize()
33
+ response = CommandDeserializer.deserialize(response_byte_array)
35
34
 
36
- if self.debug_mode:
35
+ if Interpreter.debug_mode:
37
36
  print("Response command: " + str(response))
38
37
  MessageHelper.send_message_to_app_insights("ResponseCommand", str(response))
39
38
 
40
39
  return response
41
40
 
42
- def process(self, message_byte_array):
43
- received_command = CommandDeserializer(message_byte_array).deserialize()
41
+ @staticmethod
42
+ def process(message_byte_array):
43
+ received_command = CommandDeserializer.deserialize(message_byte_array)
44
44
 
45
- if self.debug_mode:
45
+ if Interpreter.debug_mode:
46
46
  print("Received command: " + str(received_command))
47
47
  MessageHelper.send_message_to_app_insights("ReceivedCommand", str(received_command))
48
48
 
49
- response = handler.handle_command(received_command)
49
+ response = Handler.handle_command(received_command)
50
50
 
51
- if self.debug_mode:
51
+ if Interpreter.debug_mode:
52
52
  print("Response command: " + str(response))
53
53
  MessageHelper.send_message_to_app_insights("ResponseCommand", str(response))
54
54
 
@@ -6,159 +6,147 @@ from javonet.utils.Type import Type
6
6
  from javonet.utils.StringEncodingMode import StringEncodingMode
7
7
 
8
8
 
9
-
10
9
  class CommandDeserializer:
11
- position = 0
12
- buffer = []
13
- command = 0
14
- buffer_len = 0
15
-
16
- def __init__(self, buffer):
17
- self.buffer = buffer
18
- self.buffer_len = len(buffer)
19
- self.command = Command(RuntimeName(buffer[0]), CommandType(buffer[10]), [])
20
- self.position = 11
21
-
22
- def is_at_end(self):
23
- return self.position == self.buffer_len
24
-
25
- def deserialize(self):
26
- while not self.is_at_end():
27
- self.command = self.command.add_arg_to_payload(self.read_object(self.buffer[self.position]))
28
- return self.command
29
-
30
- # def copy_from(self, bytes_to_copy, elements_to_skip):
31
- # size = len(bytes_to_copy) - elements_to_skip
32
- # new_byte_array = bytes_to_copy[size:]
33
- # return new_byte_array
34
-
35
- def read_object(self, type_num):
36
- type_value = Type(type_num)
37
- switch = {
38
- Type.Command: self.read_command,
39
- Type.JavonetString: self.read_string,
40
- Type.JavonetInteger: self.read_int,
41
- Type.JavonetBoolean: self.read_bool,
42
- Type.JavonetFloat: self.read_float,
43
- Type.JavonetByte: self.read_byte,
44
- Type.JavonetChar: self.read_char,
45
- Type.JavonetLongLong: self.read_longlong,
46
- Type.JavonetDouble: self.read_double,
47
- Type.JavonetUnsignedLongLong: self.read_ullong,
48
- Type.JavonetUnsignedInteger: self.read_uint,
49
- Type.JavonetNoneType: self.read_none
50
- }
51
- func = switch.get(type_value)
52
- if func is None:
53
- raise Exception("Type not supported")
54
- return func()
55
-
56
- def read_command(self):
57
- p = self.position
58
- number_of_elements_in_payload = TypeDeserializer.deserialize_int(self.buffer[p + 1: p + 5])
59
- runtime = self.buffer[p + 5]
60
- command_type = self.buffer[p + 6]
61
- self.position += 7
62
-
63
- payload = [
64
- self.read_object(self.buffer[self.position])
65
- for _ in range(number_of_elements_in_payload)
66
- ]
67
- return Command(RuntimeName(runtime), CommandType(command_type), payload)
68
-
69
- # old implementation
70
- # def read_command(self):
71
- # p = self.position
72
- # number_of_elements_in_payload = TypeDeserializer.deserialize_int(self.buffer[p + 1: p + 5])
73
- # runtime = self.buffer[p + 5]
74
- # command_type = self.buffer[p + 6]
75
- # self.position += 7
76
- # return_command = Command(RuntimeName(runtime), CommandType(command_type), [])
77
- # return self.read_command_recursively(number_of_elements_in_payload, return_command)
78
- #
79
- # def read_command_recursively(self, number_of_elements_in_payload_left, cmd):
80
- # if number_of_elements_in_payload_left == 0:
81
- # return cmd
82
- # else:
83
- # p = self.position
84
- # cmd = cmd.add_arg_to_payload(self.read_object(self.buffer[p]))
85
- # return self.read_command_recursively(number_of_elements_in_payload_left - 1, cmd)
86
-
87
- def read_string(self):
88
- p = self.position
89
- string_encoding_mode = StringEncodingMode(self.buffer[p + 1])
90
- size = TypeDeserializer.deserialize_int(self.buffer[p + 2:p + 6])
91
- self.position += 6
92
- p = self.position
93
- self.position += size
94
- return TypeDeserializer.deserialize_string(string_encoding_mode, self.buffer[p:p + size])
95
-
96
- def read_int(self):
97
- size = 4
98
- self.position += 2
99
- p = self.position
100
- self.position += size
101
- return TypeDeserializer.deserialize_int(self.buffer[p:p + size])
102
-
103
- def read_bool(self):
104
- size = 1
105
- self.position += 2
106
- p = self.position
107
- self.position += size
108
- return TypeDeserializer.deserialize_bool(self.buffer[p:p + size])
109
-
110
- def read_float(self):
111
- size = 4
112
- self.position += 2
113
- p = self.position
114
- self.position += size
115
- return TypeDeserializer.deserialize_float(self.buffer[p:p + size])
116
-
117
- def read_byte(self):
118
- size = 1
119
- self.position += 2
120
- p = self.position
121
- self.position += size
122
- return TypeDeserializer.deserialize_byte(self.buffer[p:p + size])
123
-
124
- def read_char(self):
125
- size = 1
126
- self.position += 2
127
- p = self.position
128
- self.position += size
129
- return TypeDeserializer.deserialize_char(self.buffer[p:p + size])
130
-
131
- def read_longlong(self):
132
- size = 8
133
- self.position += 2
134
- p = self.position
135
- self.position += size
136
- return TypeDeserializer.deserialize_longlong(self.buffer[p:p + size])
137
-
138
- def read_double(self):
139
- size = 8
140
- self.position += 2
141
- p = self.position
142
- self.position += size
143
- return TypeDeserializer.deserialize_double(self.buffer[p:p + size])
144
-
145
- def read_ullong(self):
146
- size = 8
147
- self.position += 2
148
- p = self.position
149
- self.position += size
150
- return TypeDeserializer.deserialize_ullong(self.buffer[p:p + size])
151
-
152
- def read_uint(self):
153
- size = 4
154
- self.position += 2
155
- p = self.position
156
- self.position += size
157
- return TypeDeserializer.deserialize_uint(self.buffer[p:p + size])
158
-
159
- def read_none(self):
160
- size = 1
161
- self.position += 2
162
- p = self.position
163
- self.position += size
164
- return TypeDeserializer.deserialize_none(self.buffer[p:p + size])
10
+ """
11
+ Static class for deserializing commands from byte arrays.
12
+ """
13
+
14
+ @staticmethod
15
+ def deserialize(buffer):
16
+ """
17
+ Deserialize a command from a byte array.
18
+
19
+ Args:
20
+ buffer: The byte array containing the serialized command.
21
+
22
+ Returns:
23
+ Command: The deserialized command.
24
+ """
25
+ buffer_len = len(buffer)
26
+ command = Command(RuntimeName(buffer[0]), CommandType(buffer[10]), [])
27
+ position = 11
28
+
29
+ # Use a list to hold position (mutable reference for nested functions)
30
+ pos_ref = [position]
31
+
32
+ def is_at_end():
33
+ return pos_ref[0] == buffer_len
34
+
35
+ def read_object(type_num):
36
+ type_value = Type(type_num)
37
+ switch = {
38
+ Type.Command: read_command,
39
+ Type.JavonetString: read_string,
40
+ Type.JavonetInteger: read_int,
41
+ Type.JavonetBoolean: read_bool,
42
+ Type.JavonetFloat: read_float,
43
+ Type.JavonetByte: read_byte,
44
+ Type.JavonetChar: read_char,
45
+ Type.JavonetLongLong: read_longlong,
46
+ Type.JavonetDouble: read_double,
47
+ Type.JavonetUnsignedLongLong: read_ullong,
48
+ Type.JavonetUnsignedInteger: read_uint,
49
+ Type.JavonetNoneType: read_none
50
+ }
51
+ func = switch.get(type_value)
52
+ if func is None:
53
+ raise Exception("Type not supported")
54
+ return func()
55
+
56
+ def read_command():
57
+ p = pos_ref[0]
58
+ number_of_elements_in_payload = TypeDeserializer.deserialize_int(buffer[p + 1: p + 5])
59
+ runtime = buffer[p + 5]
60
+ command_type = buffer[p + 6]
61
+ pos_ref[0] += 7
62
+
63
+ payload = [
64
+ read_object(buffer[pos_ref[0]])
65
+ for _ in range(number_of_elements_in_payload)
66
+ ]
67
+ return Command(RuntimeName(runtime), CommandType(command_type), payload)
68
+
69
+ def read_string():
70
+ p = pos_ref[0]
71
+ string_encoding_mode = StringEncodingMode(buffer[p + 1])
72
+ size = TypeDeserializer.deserialize_int(buffer[p + 2:p + 6])
73
+ pos_ref[0] += 6
74
+ p = pos_ref[0]
75
+ pos_ref[0] += size
76
+ return TypeDeserializer.deserialize_string(string_encoding_mode, buffer[p:p + size])
77
+
78
+ def read_int():
79
+ size = 4
80
+ pos_ref[0] += 2
81
+ p = pos_ref[0]
82
+ pos_ref[0] += size
83
+ return TypeDeserializer.deserialize_int(buffer[p:p + size])
84
+
85
+ def read_bool():
86
+ size = 1
87
+ pos_ref[0] += 2
88
+ p = pos_ref[0]
89
+ pos_ref[0] += size
90
+ return TypeDeserializer.deserialize_bool(buffer[p:p + size])
91
+
92
+ def read_float():
93
+ size = 4
94
+ pos_ref[0] += 2
95
+ p = pos_ref[0]
96
+ pos_ref[0] += size
97
+ return TypeDeserializer.deserialize_float(buffer[p:p + size])
98
+
99
+ def read_byte():
100
+ size = 1
101
+ pos_ref[0] += 2
102
+ p = pos_ref[0]
103
+ pos_ref[0] += size
104
+ return TypeDeserializer.deserialize_byte(buffer[p:p + size])
105
+
106
+ def read_char():
107
+ size = 1
108
+ pos_ref[0] += 2
109
+ p = pos_ref[0]
110
+ pos_ref[0] += size
111
+ return TypeDeserializer.deserialize_char(buffer[p:p + size])
112
+
113
+ def read_longlong():
114
+ size = 8
115
+ pos_ref[0] += 2
116
+ p = pos_ref[0]
117
+ pos_ref[0] += size
118
+ return TypeDeserializer.deserialize_longlong(buffer[p:p + size])
119
+
120
+ def read_double():
121
+ size = 8
122
+ pos_ref[0] += 2
123
+ p = pos_ref[0]
124
+ pos_ref[0] += size
125
+ return TypeDeserializer.deserialize_double(buffer[p:p + size])
126
+
127
+ def read_ullong():
128
+ size = 8
129
+ pos_ref[0] += 2
130
+ p = pos_ref[0]
131
+ pos_ref[0] += size
132
+ return TypeDeserializer.deserialize_ullong(buffer[p:p + size])
133
+
134
+ def read_uint():
135
+ size = 4
136
+ pos_ref[0] += 2
137
+ p = pos_ref[0]
138
+ pos_ref[0] += size
139
+ return TypeDeserializer.deserialize_uint(buffer[p:p + size])
140
+
141
+ def read_none():
142
+ size = 1
143
+ pos_ref[0] += 2
144
+ p = pos_ref[0]
145
+ pos_ref[0] += size
146
+ return TypeDeserializer.deserialize_none(buffer[p:p + size])
147
+
148
+ # Main deserialization loop
149
+ while not is_at_end():
150
+ command = command.add_arg_to_payload(read_object(buffer[pos_ref[0]]))
151
+
152
+ return command
@@ -8,7 +8,8 @@ from javonet.utils.TypesHandler import TypesHandler
8
8
  from javonet.utils.connectionData.IConnectionData import IConnectionData
9
9
 
10
10
  class CommandSerializer:
11
- def serialize(self, root_command: Command, connection_data: IConnectionData, runtime_version=0):
11
+ @staticmethod
12
+ def serialize(root_command: Command, connection_data: IConnectionData, runtime_version=0):
12
13
  ms = io.BytesIO()
13
14
 
14
15
  ms.write(bytes([root_command.runtime_name.value, runtime_version]))
@@ -20,18 +21,19 @@ class CommandSerializer:
20
21
 
21
22
  ms.write(bytes([RuntimeName.python.value, root_command.command_type.value]))
22
23
 
23
- self.serialize_recursively(root_command, ms)
24
+ CommandSerializer.serialize_recursively(root_command, ms)
24
25
  return ms.getvalue()
25
26
 
26
- def serialize_recursively(self, command: Command, ms: io.BytesIO):
27
+ @staticmethod
28
+ def serialize_recursively(command: Command, ms: io.BytesIO):
27
29
  for item in command.get_payload():
28
30
  if isinstance(item, Command):
29
31
  ms.write(bytes(TypeSerializer.serialize_command(item)))
30
- self.serialize_recursively(item, ms)
32
+ CommandSerializer.serialize_recursively(item, ms)
31
33
  elif TypesHandler.is_primitive_or_none(item):
32
34
  ms.write(bytes(TypeSerializer.serialize_primitive(item)))
33
35
  else:
34
36
  cached_reference = ReferencesCache().cache_reference(item)
35
37
  ref_command = Command(RuntimeName.python, CommandType.Reference, cached_reference)
36
38
  ms.write(bytes(TypeSerializer.serialize_command(ref_command)))
37
- self.serialize_recursively(ref_command, ms)
39
+ CommandSerializer.serialize_recursively(ref_command, ms)