javonet-ruby-sdk 2.6.0 → 2.6.2

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 (278) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/javonet-ruby-sdk/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
  4. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
  5. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetPythonRuntimeNative.so +0 -0
  6. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRubyOnLinuxRuntimeNative.so +0 -0
  7. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRubyRuntimeNative.so +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/version.txt +1 -1
  10. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs2218RuntimeNative.so +0 -0
  12. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyOnLinuxRuntimeNative.so +0 -0
  15. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libnode.so.127 +0 -0
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libphp.so +0 -0
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libpython2.7.so.1.0 +0 -0
  20. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
  21. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/{libJavonetNodejs2214RuntimeNative.dylib → libJavonetNodejs2218RuntimeNative.dylib} +0 -0
  23. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyOnLinuxRuntimeNative.dylib +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libnode.127.dylib +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
  30. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
  32. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPhpRuntimeNative.dll +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
  37. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRuby278RuntimeNative.dll +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
  41. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
  42. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/version.txt +0 -0
  43. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  45. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  48. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  49. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/{JavonetNodejs2214RuntimeNative.dll → JavonetNodejs2218RuntimeNative.dll} +0 -0
  50. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  51. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  52. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPhp848RuntimeNative.dll +0 -0
  53. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPhpRuntimeNative.dll +0 -0
  54. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPython2RuntimeNative.dll +0 -0
  55. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  56. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRuby278RuntimeNative.dll +0 -0
  57. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  58. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
  59. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
  60. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  61. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libnode.dll +0 -0
  62. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
  63. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
  64. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
  65. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
  66. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
  67. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
  68. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
  69. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPhpRuntimeNative.dll +0 -0
  70. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPython2RuntimeNative.dll +0 -0
  71. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
  72. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
  73. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
  74. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Utils.dll +0 -0
  75. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/version.txt +1 -1
  76. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
  77. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
  78. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/webSocketClient/WebSocketClient.cjs +64 -9
  79. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/webSocketClient/WebSocketClientBrowser.cjs +59 -4
  80. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/webSocketClient/WebSocketClient.d.ts +24 -2
  81. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/webSocketClient/WebSocketClientBrowser.d.ts +24 -2
  82. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Devel/OverloadInfo.pm +2 -2
  83. 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
  84. 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
  85. 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
  86. 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
  87. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  88. 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
  89. 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
  90. 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
  91. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  92. 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
  93. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +96 -96
  94. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Exception/ExceptionSerializer.pm +21 -10
  95. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Receiver/Receiver.pm +21 -2
  96. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  97. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  98. 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
  99. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  100. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  101. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +22 -22
  102. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Exception/ExceptionSerializer.pm +21 -10
  103. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Receiver/Receiver.pm +21 -2
  104. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/receiver/Receiver.php +17 -1
  105. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/transmitter/TransmitterWrapper.php +1 -1
  106. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/ExceptionSerializer.php +4 -4
  107. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/UtilsConst.php +1 -1
  108. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/GetResultTypeHandler.py +10 -0
  109. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/Handler.py +2 -0
  110. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/webSocketClient/WebSocketClient.py +1 -1
  111. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/CommandType.py +1 -0
  112. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/ResolveInstanceHandler.py +1 -0
  113. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/protocol/CommandDeserializer.py +32 -69
  114. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/receiver/Receiver.py +16 -5
  115. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/exception/ExceptionSerializer.py +82 -36
  116. data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
  117. data/lib/javonet-ruby-sdk/{Binaries/Ruby/Windows/X64/core/receiver/receiver.rb → core/receiver/receiver_new.rb} +6 -3
  118. data/lib/javonet-ruby-sdk/utils/os_helper.rb +21 -0
  119. metadata +10 -164
  120. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRuby342RuntimeNative.so +0 -0
  121. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
  122. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs2214RuntimeNative.so +0 -0
  123. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRuby342RuntimeNative.dylib +0 -0
  124. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libruby.2.7.dylib +0 -0
  125. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libruby.3.4.dylib +0 -0
  126. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/x64-ucrt-ruby340.dll +0 -0
  127. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/abstract_command_handler.rb +0 -24
  128. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/abstract_handler.rb +0 -5
  129. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/array_get_item_handler.rb +0 -47
  130. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/array_get_rank_handler.rb +0 -23
  131. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/array_get_size_handler.rb +0 -37
  132. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/array_handler.rb +0 -12
  133. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/array_set_item_handler.rb +0 -47
  134. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/casting_handler.rb +0 -11
  135. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/create_class_instance_handler.rb +0 -34
  136. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/destruct_reference_handler.rb +0 -21
  137. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/enable_namespace_handler.rb +0 -31
  138. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/enable_type_handler.rb +0 -32
  139. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/get_instance_field_handler.rb +0 -34
  140. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/get_static_field_handler.rb +0 -34
  141. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/get_type_handler.rb +0 -71
  142. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/handler.rb +0 -105
  143. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/handler_dictionary.rb +0 -8
  144. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/invoke_global_function_handler.rb +0 -45
  145. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/invoke_instance_method_handler.rb +0 -36
  146. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/invoke_static_method_handler.rb +0 -38
  147. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/load_library_handler.rb +0 -36
  148. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/resolve_instance_handler.rb +0 -29
  149. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/set_instance_field_handler.rb +0 -35
  150. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/set_static_field_handler.rb +0 -31
  151. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/value_handler.rb +0 -7
  152. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/interpreter/interpreter.rb +0 -28
  153. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/namespace_cache/namespace_cache.rb +0 -42
  154. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_deserializer.rb +0 -182
  155. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_serializer.rb +0 -39
  156. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/type_deserializer.rb +0 -126
  157. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/type_serializer.rb +0 -260
  158. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/receiver/receiver.rb +0 -39
  159. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/reference_cache/references_cache.rb +0 -39
  160. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/transmitter/transmitter.rb +0 -58
  161. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/transmitter/transmitter_wrapper.rb +0 -32
  162. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/type_cache/type_cache.rb +0 -42
  163. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/web_socket_client/web_socket_client.rb +0 -108
  164. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/command.rb +0 -93
  165. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/command_type.rb +0 -145
  166. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/connection_type.rb +0 -5
  167. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/exceptions/exception_serializer.rb +0 -127
  168. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/exceptions/exception_thrower.rb +0 -65
  169. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/exceptions/exception_type.rb +0 -10
  170. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/runtime_logger.rb +0 -30
  171. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/runtime_name.rb +0 -13
  172. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/runtime_name_handler.rb +0 -40
  173. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/string_encoding_mode.rb +0 -6
  174. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/tcp_connection_data.rb +0 -37
  175. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/type.rb +0 -15
  176. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/types_handler.rb +0 -10
  177. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/ws_connection_data.rb +0 -19
  178. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/abstract_command_handler.rb +0 -24
  179. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/abstract_handler.rb +0 -5
  180. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/array_get_item_handler.rb +0 -47
  181. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/array_get_rank_handler.rb +0 -23
  182. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/array_get_size_handler.rb +0 -37
  183. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/array_handler.rb +0 -12
  184. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/array_set_item_handler.rb +0 -47
  185. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/casting_handler.rb +0 -11
  186. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/create_class_instance_handler.rb +0 -34
  187. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/destruct_reference_handler.rb +0 -21
  188. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/enable_namespace_handler.rb +0 -31
  189. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/enable_type_handler.rb +0 -32
  190. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/get_instance_field_handler.rb +0 -34
  191. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/get_static_field_handler.rb +0 -34
  192. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/get_type_handler.rb +0 -71
  193. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/handler.rb +0 -105
  194. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/handler_dictionary.rb +0 -8
  195. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/invoke_global_function_handler.rb +0 -45
  196. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/invoke_instance_method_handler.rb +0 -36
  197. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/invoke_static_method_handler.rb +0 -38
  198. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/load_library_handler.rb +0 -36
  199. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/resolve_instance_handler.rb +0 -29
  200. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/set_instance_field_handler.rb +0 -35
  201. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/set_static_field_handler.rb +0 -31
  202. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/value_handler.rb +0 -7
  203. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/interpreter/interpreter.rb +0 -28
  204. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/namespace_cache/namespace_cache.rb +0 -42
  205. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_deserializer.rb +0 -182
  206. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_serializer.rb +0 -39
  207. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/type_deserializer.rb +0 -126
  208. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/type_serializer.rb +0 -260
  209. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/receiver/receiver.rb +0 -39
  210. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/reference_cache/references_cache.rb +0 -39
  211. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter.rb +0 -58
  212. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter_wrapper.rb +0 -32
  213. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/type_cache/type_cache.rb +0 -42
  214. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/web_socket_client/web_socket_client.rb +0 -108
  215. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/command.rb +0 -93
  216. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/command_type.rb +0 -145
  217. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/connection_type.rb +0 -5
  218. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/exceptions/exception_serializer.rb +0 -127
  219. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/exceptions/exception_thrower.rb +0 -65
  220. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/exceptions/exception_type.rb +0 -10
  221. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/runtime_logger.rb +0 -30
  222. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/runtime_name.rb +0 -13
  223. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/runtime_name_handler.rb +0 -40
  224. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/string_encoding_mode.rb +0 -6
  225. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/tcp_connection_data.rb +0 -37
  226. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/type.rb +0 -15
  227. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/types_handler.rb +0 -10
  228. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/ws_connection_data.rb +0 -19
  229. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/abstract_command_handler.rb +0 -24
  230. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/abstract_handler.rb +0 -5
  231. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/array_get_item_handler.rb +0 -47
  232. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/array_get_rank_handler.rb +0 -23
  233. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/array_get_size_handler.rb +0 -37
  234. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/array_handler.rb +0 -12
  235. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/array_set_item_handler.rb +0 -47
  236. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/casting_handler.rb +0 -11
  237. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/create_class_instance_handler.rb +0 -34
  238. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/destruct_reference_handler.rb +0 -21
  239. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/enable_namespace_handler.rb +0 -31
  240. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/enable_type_handler.rb +0 -32
  241. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/get_instance_field_handler.rb +0 -34
  242. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/get_static_field_handler.rb +0 -34
  243. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/get_type_handler.rb +0 -71
  244. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/handler.rb +0 -105
  245. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/handler_dictionary.rb +0 -8
  246. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/invoke_global_function_handler.rb +0 -45
  247. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/invoke_instance_method_handler.rb +0 -36
  248. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/invoke_static_method_handler.rb +0 -38
  249. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/load_library_handler.rb +0 -36
  250. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/resolve_instance_handler.rb +0 -29
  251. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/set_instance_field_handler.rb +0 -35
  252. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/set_static_field_handler.rb +0 -31
  253. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/value_handler.rb +0 -7
  254. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/interpreter/interpreter.rb +0 -28
  255. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/namespace_cache/namespace_cache.rb +0 -42
  256. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_deserializer.rb +0 -182
  257. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_serializer.rb +0 -39
  258. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/type_deserializer.rb +0 -126
  259. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/type_serializer.rb +0 -260
  260. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/reference_cache/references_cache.rb +0 -39
  261. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/transmitter/transmitter.rb +0 -58
  262. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/transmitter/transmitter_wrapper.rb +0 -32
  263. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/type_cache/type_cache.rb +0 -42
  264. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/web_socket_client/web_socket_client.rb +0 -108
  265. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/command.rb +0 -93
  266. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/command_type.rb +0 -145
  267. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/connection_type.rb +0 -5
  268. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/exceptions/exception_serializer.rb +0 -127
  269. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/exceptions/exception_thrower.rb +0 -65
  270. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/exceptions/exception_type.rb +0 -10
  271. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/runtime_logger.rb +0 -30
  272. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/runtime_name.rb +0 -13
  273. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/runtime_name_handler.rb +0 -40
  274. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/string_encoding_mode.rb +0 -6
  275. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/tcp_connection_data.rb +0 -37
  276. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/type.rb +0 -15
  277. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/types_handler.rb +0 -10
  278. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/ws_connection_data.rb +0 -19
@@ -1,36 +0,0 @@
1
- require_relative 'abstract_command_handler'
2
-
3
- class LoadLibraryHandler < AbstractCommandHandler
4
-
5
- @@loaded_libraries = []
6
-
7
- def initialize
8
- @required_parameters_count = 1
9
- end
10
-
11
- def process(command)
12
- begin
13
- if command.payload.length < @required_parameters_count
14
- raise ArgumentError.new "Load library parameters mismatch"
15
- end
16
- if command.payload.length > @required_parameters_count
17
- assembly_name = command.payload[1]
18
- else
19
- assembly_name = command.payload[0]
20
- end
21
-
22
- # Check if the library exists:
23
- raise LoadError.new("Library not found: #{assembly_name}") unless File.exist?(assembly_name)
24
- #noinspection RubyResolve
25
- require(assembly_name)
26
- @@loaded_libraries.push(assembly_name)
27
- return 0
28
- rescue Exception => e
29
- return e
30
- end
31
- end
32
-
33
- def self.get_loaded_libraries
34
- @@loaded_libraries
35
- end
36
- end
@@ -1,29 +0,0 @@
1
- require_relative '../reference_cache/references_cache'
2
- require_relative 'abstract_command_handler'
3
- require_relative '../../utils/runtime_name'
4
- require_relative '../../utils/command'
5
-
6
- class ResolveInstanceHandler < AbstractCommandHandler
7
- def initialize
8
- @required_parameters_count = 1
9
- end
10
-
11
- def process(command)
12
- resolve_reference(command)
13
- end
14
-
15
- def resolve_reference(command)
16
- if command.payload.length != @required_parameters_count
17
- raise ArgumentError.new "Resolve Instance parameters mismatch"
18
- end
19
- begin
20
- if command.runtime_name == RuntimeName::RUBY
21
- return ReferencesCache.instance.resolve_reference(command.payload[0])
22
- else
23
- return new Command(command.runtime_name, CommandType::REFERENCE, command.payload[0])
24
- end
25
- rescue Exception => ex
26
- return ex
27
- end
28
- end
29
- end
@@ -1,35 +0,0 @@
1
- require_relative 'abstract_command_handler'
2
-
3
- class SetInstanceFieldHandler < AbstractCommandHandler
4
- def initialize
5
- @required_parameters_count = 3
6
- end
7
-
8
- def process(command)
9
- return set_instance_field(command)
10
- end
11
-
12
- def set_instance_field(command)
13
- begin
14
- if command.payload.length < @required_parameters_count
15
- raise ArgumentError.new "Set Instance Field parameters mismatch"
16
- end
17
-
18
- merged_value = '@' + command.payload[1]
19
- begin
20
- if command.payload[0].instance_variable_defined?(merged_value)
21
- command.payload[0].instance_variable_set(merged_value, command.payload[2])
22
- else
23
- raise Exception
24
- end
25
- rescue Exception
26
- fields = command.payload[0].instance_variables
27
- message = "Field #{command.payload[1]} not found in class #{command.payload[0].class.name}. Available fields:\n"
28
- fields.each { |field_iter| message += "#{field_iter} \n" }
29
- raise ArgumentError, message
30
- end
31
- rescue Exception => e
32
- return e
33
- end
34
- end
35
- end
@@ -1,31 +0,0 @@
1
- require_relative 'abstract_command_handler'
2
-
3
- class SetStaticFieldHandler < AbstractCommandHandler
4
- def initialize
5
- @required_parameters_count = 3
6
- end
7
-
8
- def process(command)
9
- Command.new(RuntimeName::RUBY, CommandType::VALUE, [set_static_field(command)])
10
- end
11
-
12
- def set_static_field(command)
13
- begin
14
- if command.payload.length != @required_parameters_count
15
- raise ArgumentError.new "Set static field parameters mismatch"
16
- end
17
-
18
- merged_value = '@@' + command.payload[1]
19
- begin
20
- command.payload[0].class_variable_set(merged_value, command.payload[2])
21
- rescue Exception
22
- fields = command.payload[0].class_variables
23
- message = "Field #{command.payload[1]} not found in class #{command.payload[0].name}. Available fields:\n"
24
- fields.each { |field_iter| message += "#{field_iter}\n" }
25
- raise ArgumentError, message
26
- end
27
- rescue Exception => e
28
- return e
29
- end
30
- end
31
- end
@@ -1,7 +0,0 @@
1
- require_relative 'abstract_command_handler'
2
-
3
- class ValueHandler < AbstractCommandHandler
4
- def process(command)
5
- command.payload[0]
6
- end
7
- end
@@ -1,28 +0,0 @@
1
- require_relative '../protocol/command_serializer'
2
- require_relative '../protocol/command_deserializer'
3
- require_relative '../handler/handler'
4
-
5
- class Interpreter
6
- @@handler = Handler.new
7
-
8
- def execute(command, connection_type, connection_data)
9
- message_byte_array = CommandSerializer.new.serialize(command, connection_data)
10
- if command.runtime_name == RuntimeName::RUBY && connection_type == ConnectionType::IN_MEMORY
11
- require_relative '../receiver/receiver'
12
- response_byte_array = Receiver.new.send_command(message_byte_array, message_byte_array.length)
13
- elsif connection_type == ConnectionType::WEB_SOCKET
14
- require_relative '../web_socket_client/web_socket_client'
15
- response_byte_array = WebSocketClient.send_message(connection_data.hostname, message_byte_array)
16
- else
17
- require_relative '../transmitter/transmitter'
18
- response_byte_array = Transmitter.send_command(message_byte_array, message_byte_array.length)
19
- end
20
-
21
- CommandDeserializer.new(response_byte_array).deserialize
22
- end
23
-
24
- def process(byte_array)
25
- received_command = CommandDeserializer.new(byte_array).deserialize
26
- @@handler.handle_command(received_command)
27
- end
28
- end
@@ -1,42 +0,0 @@
1
- class NamespaceCache
2
- attr_accessor :namespace_cache
3
-
4
- def self.instance
5
- @instance ||= new
6
- end
7
-
8
- private_class_method :new
9
-
10
- def initialize
11
- @namespace_cache = []
12
- end
13
-
14
- def cache_namespace(namespace_regex)
15
- @namespace_cache << namespace_regex
16
- end
17
-
18
- def is_namespace_cache_empty?
19
- @namespace_cache.empty?
20
- end
21
-
22
- def is_type_allowed(type_to_check)
23
- name_to_check = if type_to_check.is_a?(Module)
24
- type_to_check.name
25
- else
26
- "#{type_to_check.class.name}"
27
- end
28
-
29
- @namespace_cache.any? do |pattern|
30
- /#{pattern}/.match?(name_to_check)
31
- end
32
- end
33
-
34
- def get_cached_namespaces
35
- @namespace_cache
36
- end
37
-
38
- def clear_cache
39
- @namespace_cache.clear
40
- 0
41
- end
42
- end
@@ -1,182 +0,0 @@
1
- require_relative 'type_deserializer'
2
- require_relative '../../utils/type'
3
- require_relative '../../utils/command'
4
- require_relative '../../utils/string_encoding_mode'
5
- require_relative '../../utils/command_type'
6
- require_relative '../../utils/runtime_name'
7
-
8
- class CommandDeserializer
9
- def initialize(buffer)
10
- @buffer = buffer
11
- @buffer_len = buffer.length
12
- @command = Command.new(buffer[0], buffer[10], [])
13
- @position = 11
14
- end
15
-
16
- def is_at_end
17
- @position == @buffer_len
18
- end
19
-
20
- def deserialize
21
- until is_at_end
22
- @command = @command.add_arg_to_payload(read_object(@buffer[@position]))
23
- end
24
- @command
25
- end
26
-
27
- def read_object(type_num)
28
- case type_num
29
- when Type::COMMAND
30
- return self.read_command
31
- when Type::JAVONET_STRING
32
- return self.read_string
33
- when Type::JAVONET_INTEGER
34
- return self.read_int
35
- when Type::JAVONET_BOOLEAN
36
- return self.read_bool
37
- when Type::JAVONET_FLOAT
38
- return self.read_float
39
- when Type::JAVONET_BYTE
40
- return self.read_byte
41
- when Type::JAVONET_CHAR
42
- return self.read_char
43
- when Type::JAVONET_LONG_LONG
44
- return self.read_longlong
45
- when Type::JAVONET_DOUBLE
46
- return self.read_double
47
- when Type::JAVONET_UNSIGNED_LONG_LONG
48
- return self.read_ullong
49
- when Type::JAVONET_UNSIGNED_INTEGER
50
- return self.read_uint
51
- when Type::JAVONET_NULL
52
- return self.read_nil
53
- else
54
- raise Exception.new("Type #{type_num} not supported in command deserializer")
55
- end
56
- end
57
-
58
- def read_command
59
- p = @position
60
- number_of_elements_in_payload = TypeDeserializer.deserialize_int(@buffer[p + 1..p + 4])
61
- runtime = @buffer[p + 5]
62
- command_type = @buffer[p + 6]
63
- @position += 7
64
-
65
- payload = Array.new(number_of_elements_in_payload)
66
- for i in 0..number_of_elements_in_payload - 1
67
- payload[i] = read_object(@buffer[@position])
68
- end
69
- Command.new(runtime, command_type, payload)
70
- end
71
-
72
- # old implementation
73
- # def read_command
74
- # p = @position
75
- # number_of_elements_in_payload = TypeDeserializer.deserialize_int(@buffer[p + 1..p + 4])
76
- # runtime = @buffer[p + 5]
77
- # command_type = @buffer[p + 6]
78
- # @position += 7
79
- # return_command = Command.new(runtime, command_type, [])
80
- # read_command_recursively(number_of_elements_in_payload, return_command)
81
- # end
82
- #
83
- # def read_command_recursively(number_of_elements_in_payload_left, cmd)
84
- # if number_of_elements_in_payload_left == 0
85
- # cmd
86
- # else
87
- # p = @position
88
- # cmd = cmd.add_arg_to_payload(self.read_object(@buffer[p]))
89
- # read_command_recursively(number_of_elements_in_payload_left - 1, cmd)
90
- # end
91
- # end
92
-
93
- def read_string
94
- p = @position
95
- string_encoding_mode = @buffer[p + 1]
96
- size = TypeDeserializer.deserialize_int(@buffer[p + 2..p + 5])
97
- @position += 6
98
- p = @position
99
- @position += size
100
- TypeDeserializer.deserialize_string(string_encoding_mode, @buffer[p...p + size])
101
- end
102
-
103
- def read_int
104
- size = 4
105
- @position += 2
106
- p = @position
107
- @position += size
108
- TypeDeserializer.deserialize_int(@buffer[p...p + size])
109
- end
110
-
111
- def read_bool
112
- size = 1
113
- @position += 2
114
- p = @position
115
- @position += size
116
- TypeDeserializer.deserialize_bool(@buffer[p...p + size])
117
- end
118
-
119
- def read_float
120
- size = 4
121
- @position += 2
122
- p = @position
123
- @position += size
124
- TypeDeserializer.deserialize_float(@buffer[p...p + size])
125
- end
126
-
127
- def read_byte
128
- size = 1
129
- @position += 2
130
- p = @position
131
- @position += size
132
- TypeDeserializer.deserialize_byte(@buffer[p...p + size])
133
- end
134
-
135
- def read_char
136
- size = 1
137
- @position += 2
138
- p = @position
139
- @position += size
140
- TypeDeserializer.deserialize_char(@buffer[p...p + size])
141
- end
142
-
143
- def read_longlong
144
- size = 8
145
- @position += 2
146
- p = @position
147
- @position += size
148
- TypeDeserializer.deserialize_longlong(@buffer[p...p + size])
149
- end
150
-
151
- def read_double
152
- size = 8
153
- @position += 2
154
- p = @position
155
- @position += size
156
- TypeDeserializer.deserialize_double(@buffer[p...p + size])
157
- end
158
-
159
- def read_ullong
160
- size = 8
161
- @position += 2
162
- p = @position
163
- @position += size
164
- TypeDeserializer.deserialize_ullong(@buffer[p...p + size])
165
- end
166
-
167
- def read_uint
168
- size = 4
169
- @position += 2
170
- p = @position
171
- @position += size
172
- TypeDeserializer.deserialize_uint(@buffer[p...p + size])
173
- end
174
-
175
- def read_nil
176
- size = 1
177
- @position += 2
178
- p = @position
179
- @position += size
180
- TypeDeserializer.deserialize_nil(@buffer[p...p + size])
181
- end
182
- end
@@ -1,39 +0,0 @@
1
- require_relative 'type_serializer'
2
- require_relative '../../utils/command'
3
- require_relative '../../utils/runtime_name'
4
- require_relative '../../utils/tcp_connection_data'
5
-
6
- class CommandSerializer
7
- def serialize(root_command, connection_data = nil, runtime_version = 0)
8
- buffer = []
9
- buffer << root_command.runtime_name
10
- buffer << runtime_version
11
-
12
- if connection_data
13
- buffer.concat(connection_data.serialize_connection_data)
14
- else
15
- buffer.concat([0, 0, 0, 0, 0, 0, 0])
16
- end
17
-
18
- buffer << RuntimeName::RUBY
19
- buffer << root_command.command_type
20
-
21
- serialize_recursively(root_command, buffer)
22
- buffer
23
- end
24
-
25
- def serialize_recursively(command, buffer)
26
- command.payload.each do |item|
27
- if item.is_a?(Command)
28
- buffer.concat(TypeSerializer.serialize_command(item))
29
- serialize_recursively(item, buffer)
30
- elsif TypesHandler.primitive_or_none?(item)
31
- buffer.concat(TypeSerializer.serialize_primitive(item))
32
- else
33
- cached_reference = ReferencesCache.new.cache_reference(item)
34
- ref_command = Command.new(RuntimeName::RUBY, CommandType::REFERENCE, cached_reference)
35
- serialize_recursively(ref_command, buffer)
36
- end
37
- end
38
- end
39
- end
@@ -1,126 +0,0 @@
1
- require_relative '../../utils/string_encoding_mode'
2
-
3
- class TypeDeserializer
4
-
5
- def self.deserialize_command(command_byte_array)
6
- Command.new(RuntimeName(command_byte_array[0]), CommandType(command_byte_array[1]), [])
7
- end
8
-
9
- def self.deserialize_string(string_encoding_mode, encoded_string)
10
- raw_str = encoded_string.map(&:chr).join
11
- case string_encoding_mode
12
- when StringEncodingMode::ASCII
13
- raw_str.force_encoding("US-ASCII").encode("UTF-8")
14
- when StringEncodingMode::UTF8
15
- raw_str.force_encoding("UTF-8").encode("UTF-8")
16
- when StringEncodingMode::UTF16
17
- raw_str.force_encoding("UTF-16LE").encode("UTF-8")
18
- when StringEncodingMode::UTF32
19
- raw_str.force_encoding("UTF-32").encode("UTF-8")
20
- else
21
- raise "Argument out of range in deserialize_string"
22
- end
23
- end
24
-
25
- def self.deserialize_int(encoded_int)
26
- # Assuming a 32-bit little-endian integer.
27
- value = 0
28
- encoded_int.each_with_index do |byte, index|
29
- value |= (byte & 0xFF) << (8 * index)
30
- end
31
- # Sign the extension if the 31st bit is set.
32
- value -= (1 << 32) if (value & (1 << 31)) != 0
33
- value
34
- end
35
-
36
- def self.deserialize_bool(encoded_bool)
37
- encoded_bool[0] == 1
38
- end
39
-
40
- def self.deserialize_float(encoded_float)
41
- # Reconstruct the 32-bit integer from the byte array.
42
- bits = 0
43
- encoded_float.each_with_index do |byte, index|
44
- bits |= (byte & 0xFF) << (8 * index)
45
- end
46
-
47
- # IEEE 754 single precision (32-bit) decoding:
48
- sign = ((bits >> 31) == 0) ? 1 : -1
49
- exponent = (bits >> 23) & 0xFF
50
- fraction = bits & 0x7FFFFF
51
-
52
- if exponent == 255
53
- # Handle special cases for Inf and NaN.
54
- return fraction == 0 ? sign * Float::INFINITY : Float::NAN
55
- elsif exponent == 0
56
- # Subnormal numbers.
57
- return sign * (fraction.to_f / (1 << 23)) * (2 ** (-126))
58
- else
59
- # Normalized number.
60
- return sign * (1 + fraction.to_f / (1 << 23)) * (2 ** (exponent - 127))
61
- end
62
- end
63
-
64
- def self.deserialize_byte(encoded_byte)
65
- encoded_byte[0]
66
- end
67
-
68
- def self.deserialize_char(encoded_char)
69
- encoded_char[0].ord
70
- end
71
-
72
- def self.deserialize_longlong(encoded_long)
73
- # Assuming a 64-bit little-endian integer.
74
- value = 0
75
- encoded_long.each_with_index do |byte, index|
76
- value |= (byte & 0xFF) << (8 * index)
77
- end
78
- # Sign extension for 64-bit: if the 63rd bit is set.
79
- value -= (1 << 64) if value >= (1 << 63)
80
- value
81
- end
82
-
83
- def self.deserialize_double(encoded_double)
84
- # Reconstruct the 64-bit bit pattern from the byte array.
85
- bits = 0
86
- encoded_double.each_with_index do |byte, index|
87
- bits |= (byte & 0xFF) << (8 * index)
88
- end
89
-
90
- # IEEE 754 double precision (64-bit) decoding:
91
- sign = ((bits >> 63) == 0) ? 1 : -1
92
- exponent = (bits >> 52) & 0x7FF
93
- fraction = bits & 0xFFFFFFFFFFFFF
94
-
95
- if exponent == 2047
96
- return fraction == 0 ? sign * Float::INFINITY : Float::NAN
97
- elsif exponent == 0
98
- return sign * (fraction.to_f / (1 << 52)) * (2 ** (-1022))
99
- else
100
- return sign * (1 + fraction.to_f / (1 << 52)) * (2 ** (exponent - 1023))
101
- end
102
- end
103
-
104
- def self.deserialize_ullong(encoded_ullong)
105
- # Assuming an unsigned 64-bit little-endian integer.
106
- value = 0
107
- encoded_ullong.each_with_index do |byte, index|
108
- value |= (byte & 0xFF) << (8 * index)
109
- end
110
- value
111
- end
112
-
113
- def self.deserialize_uint(encoded_uint)
114
- # Assuming an unsigned 32-bit little-endian integer.
115
- value = 0
116
- encoded_uint.each_with_index do |byte, index|
117
- value |= (byte & 0xFF) << (8 * index)
118
- end
119
- value
120
- end
121
-
122
- def self.deserialize_nil(encoded_nil)
123
- nil
124
- end
125
-
126
- end