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
@@ -7,8 +7,8 @@ from javonet.core.protocol.TypeDeserializer import TypeDeserializer
7
7
  from javonet.utils.Command import Command
8
8
  from javonet.utils.CommandType import CommandType
9
9
  from javonet.utils.RuntimeName import RuntimeName
10
- from javonet.utils.Type import Type
11
10
  from javonet.utils.StringEncodingMode import StringEncodingMode
11
+ from javonet.utils.Type import Type
12
12
 
13
13
 
14
14
  class CommandDeserializer(object):
@@ -28,6 +28,8 @@ class CommandDeserializer(object):
28
28
  """
29
29
  self.buffer = buffer
30
30
  self.buffer_len = len(buffer)
31
+ if self.buffer_len < 11:
32
+ raise ValueError("Buffer too small to contain a command header.")
31
33
  self.command = Command(RuntimeName(buffer[0]), CommandType(buffer[10]), [])
32
34
  self.position = 11
33
35
 
@@ -37,7 +39,7 @@ class CommandDeserializer(object):
37
39
 
38
40
  :return: True if end of buffer is reached, False otherwise
39
41
  """
40
- return self.position == self.buffer_len
42
+ return self.position >= self.buffer_len
41
43
 
42
44
  def deserialize(self):
43
45
  """
@@ -49,6 +51,11 @@ class CommandDeserializer(object):
49
51
  self.command = self.command.add_arg_to_payload(self.read_object(self.buffer[self.position]))
50
52
  return self.command
51
53
 
54
+ def _check_buffer(self, required_size):
55
+ """Checks if there are enough bytes left in the buffer."""
56
+ if self.position + required_size > self.buffer_len:
57
+ raise IndexError("Not enough data in buffer to read next value.")
58
+
52
59
  def read_object(self, type_num):
53
60
  """
54
61
  Reads an object from the buffer based on its type.
@@ -71,7 +78,10 @@ class CommandDeserializer(object):
71
78
  Type.JavonetUnsignedInteger: self.read_uint,
72
79
  Type.JavonetNoneType: self.read_none
73
80
  }
74
- return switch.get(type_value, lambda: Exception("Type not supported"))()
81
+ func = switch.get(type_value)
82
+ if func is None:
83
+ raise ValueError("Type not supported: " + str(type_num))
84
+ return func()
75
85
 
76
86
  def read_command(self):
77
87
  """
@@ -79,28 +89,18 @@ class CommandDeserializer(object):
79
89
 
80
90
  :return: Read command
81
91
  """
92
+ self._check_buffer(7)
82
93
  p = self.position
83
94
  number_of_elements_in_payload = TypeDeserializer.deserialize_int(self.buffer[p + 1: p + 5])
84
95
  runtime = self.buffer[p + 5]
85
96
  command_type = self.buffer[p + 6]
86
97
  self.position += 7
87
- return_command = Command(RuntimeName(runtime), CommandType(command_type), [])
88
- return self.read_command_recursively(number_of_elements_in_payload, return_command)
89
98
 
90
- def read_command_recursively(self, number_of_elements_in_payload_left, cmd):
91
- """
92
- Recursively reads a command from the buffer.
99
+ payload = []
100
+ for _ in xrange(number_of_elements_in_payload):
101
+ payload.append(self.read_object(self.buffer[self.position]))
93
102
 
94
- :param number_of_elements_in_payload_left: Number of elements left to read
95
- :param cmd: Command to populate
96
- :return: Populated command
97
- """
98
- if number_of_elements_in_payload_left == 0:
99
- return cmd
100
- else:
101
- p = self.position
102
- cmd = cmd.add_arg_to_payload(self.read_object(self.buffer[p]))
103
- return self.read_command_recursively(number_of_elements_in_payload_left - 1, cmd)
103
+ return Command(RuntimeName(runtime), CommandType(command_type), payload)
104
104
 
105
105
  def read_string(self):
106
106
  """
@@ -108,130 +108,93 @@ class CommandDeserializer(object):
108
108
 
109
109
  :return: Read string
110
110
  """
111
+ self._check_buffer(6)
111
112
  p = self.position
112
113
  string_encoding_mode = StringEncodingMode(self.buffer[p + 1])
113
114
  size = TypeDeserializer.deserialize_int(self.buffer[p + 2:p + 6])
114
115
  self.position += 6
116
+ self._check_buffer(size)
115
117
  p = self.position
116
118
  self.position += size
117
119
  return TypeDeserializer.deserialize_string(string_encoding_mode, self.buffer[p:p + size])
118
120
 
119
121
  def read_int(self):
120
- """
121
- Reads an integer from the buffer.
122
-
123
- :return: Read integer
124
- """
125
122
  size = 4
123
+ self._check_buffer(size + 2)
126
124
  self.position += 2
127
125
  p = self.position
128
126
  self.position += size
129
127
  return TypeDeserializer.deserialize_int(self.buffer[p:p + size])
130
128
 
131
129
  def read_bool(self):
132
- """
133
- Reads a boolean from the buffer.
134
-
135
- :return: Read boolean
136
- """
137
130
  size = 1
131
+ self._check_buffer(size + 2)
138
132
  self.position += 2
139
133
  p = self.position
140
134
  self.position += size
141
135
  return TypeDeserializer.deserialize_bool(self.buffer[p:p + size])
142
136
 
143
137
  def read_float(self):
144
- """
145
- Reads a float from the buffer.
146
-
147
- :return: Read float
148
- """
149
138
  size = 4
139
+ self._check_buffer(size + 2)
150
140
  self.position += 2
151
141
  p = self.position
152
142
  self.position += size
153
143
  return TypeDeserializer.deserialize_float(self.buffer[p:p + size])
154
144
 
155
145
  def read_byte(self):
156
- """
157
- Reads a byte from the buffer.
158
-
159
- :return: Read byte
160
- """
161
146
  size = 1
147
+ self._check_buffer(size + 2)
162
148
  self.position += 2
163
149
  p = self.position
164
150
  self.position += size
165
151
  return TypeDeserializer.deserialize_byte(self.buffer[p:p + size])
166
152
 
167
153
  def read_char(self):
168
- """
169
- Reads a character from the buffer.
170
-
171
- :return: Read character
172
- """
173
154
  size = 1
155
+ self._check_buffer(size + 2)
174
156
  self.position += 2
175
157
  p = self.position
176
158
  self.position += size
177
159
  return TypeDeserializer.deserialize_char(self.buffer[p:p + size])
178
160
 
179
161
  def read_longlong(self):
180
- """
181
- Reads a long long from the buffer.
182
-
183
- :return: Read long long
184
- """
185
162
  size = 8
163
+ self._check_buffer(size + 2)
186
164
  self.position += 2
187
165
  p = self.position
188
166
  self.position += size
189
167
  return TypeDeserializer.deserialize_longlong(self.buffer[p:p + size])
190
168
 
191
169
  def read_double(self):
192
- """
193
- Reads a double from the buffer.
194
-
195
- :return: Read double
196
- """
197
170
  size = 8
171
+ self._check_buffer(size + 2)
198
172
  self.position += 2
199
173
  p = self.position
200
174
  self.position += size
175
+
201
176
  return TypeDeserializer.deserialize_double(self.buffer[p:p + size])
202
177
 
203
178
  def read_ullong(self):
204
- """
205
- Reads an unsigned long long from the buffer.
206
-
207
- :return: Read unsigned long long
208
- """
209
179
  size = 8
180
+ self._check_buffer(size + 2)
210
181
  self.position += 2
211
182
  p = self.position
212
183
  self.position += size
213
184
  return TypeDeserializer.deserialize_ullong(self.buffer[p:p + size])
214
185
 
215
186
  def read_uint(self):
216
- """
217
- Reads an unsigned integer from the buffer.
218
-
219
- :return: Read unsigned integer
220
- """
221
187
  size = 4
188
+ self._check_buffer(size + 2)
222
189
  self.position += 2
223
190
  p = self.position
224
191
  self.position += size
225
192
  return TypeDeserializer.deserialize_uint(self.buffer[p:p + size])
226
193
 
227
194
  def read_none(self):
228
- """
229
- Reads a None value from the buffer.
230
-
231
- :return: Read None value
232
- """
233
195
  size = 1
196
+ self._check_buffer(size + 2)
234
197
  self.position += 2
235
198
  p = self.position
236
199
  self.position += size
237
- return TypeDeserializer.deserialize_none(self.buffer[p:p + size])
200
+ return TypeDeserializer.deserialize_none(self.buffer[p:p + size])
@@ -7,6 +7,10 @@ from javonet.core.protocol.CommandSerializer import CommandSerializer
7
7
  from javonet.utils.RuntimeLogger import RuntimeLogger
8
8
  from javonet.utils.connectionData.InMemoryConnectionData import InMemoryConnectionData
9
9
  from javonet.core.protocol.CommandDeserializer import CommandDeserializer
10
+ from javonet.utils.Command import Command
11
+ from javonet.utils.CommandType import CommandType
12
+ from javonet.utils.RuntimeName import RuntimeName
13
+ from javonet.utils.exception.ExceptionSerializer import ExceptionSerializer
10
14
 
11
15
 
12
16
  class Receiver(object):
@@ -18,11 +22,18 @@ class Receiver(object):
18
22
  self.connection_data = InMemoryConnectionData()
19
23
 
20
24
  def SendCommand(self, message_byte_array_as_string, messageByteArrayLen):
21
- message_byte_array = bytearray(message_byte_array_as_string)
22
- response_command = Interpreter().process(message_byte_array)
23
- serialized_response = CommandSerializer().serialize(response_command, self.connection_data)
24
- response_byte_array = bytearray(serialized_response)
25
- return response_byte_array
25
+ try:
26
+ message_byte_array = bytearray(message_byte_array_as_string)
27
+ response_command = Interpreter().process(message_byte_array)
28
+ serialized_response = CommandSerializer().serialize(response_command, self.connection_data)
29
+ return bytearray(serialized_response)
30
+ except Exception as ex:
31
+ exception_command = ExceptionSerializer.serialize_exception(
32
+ ex,
33
+ Command(RuntimeName.python27, CommandType.Exception, [])
34
+ )
35
+ serialized_exception = CommandSerializer().serialize(exception_command, self.connection_data)
36
+ return bytearray(serialized_exception)
26
37
 
27
38
  def HeartBeat(self, message_byte_array_as_string, messageByteArrayLen):
28
39
  message_byte_array = bytearray(message_byte_array_as_string)
@@ -7,10 +7,10 @@ import os
7
7
  import sys
8
8
  import traceback
9
9
 
10
- from javonet.utils.PythonStringBuilder import PythonStringBuilder
11
10
  from javonet.utils.ExceptionType import ExceptionType
12
11
  from javonet.utils.Command import Command
13
12
  from javonet.utils.CommandType import CommandType
13
+ from javonet.utils.RuntimeName import RuntimeName
14
14
 
15
15
 
16
16
  class ExceptionSerializer(object):
@@ -36,43 +36,89 @@ class ExceptionSerializer(object):
36
36
  :param command: Command that caused the exception
37
37
  :return: Command containing the serialized exception
38
38
  """
39
- exception_command = Command(command.runtime_name, CommandType.Exception, [])
40
-
41
- # In Python 2 there's no __traceback__, we use sys.exc_info()
42
- _, _, tb = sys.exc_info()
43
- trace = traceback.extract_tb(tb)
44
- exception_message = str(exception)
45
-
46
- # In Python 2 there's no __cause__, we use the exception type directly
47
- exception_name = exception.__class__.__name__
48
-
49
- stack_classes = PythonStringBuilder()
50
- stack_methods = PythonStringBuilder()
51
- stack_lines = PythonStringBuilder()
52
- stack_files = PythonStringBuilder()
53
-
54
- is_debug = False
55
-
56
- for frame in trace:
57
- # In Python 2 extract_tb returns tuples (filename, line number, function name, text)
58
- filename, lineno, name, _ = frame
59
- if "javonet" not in filename or is_debug:
60
- stack_classes.append(ExceptionSerializer.format_class_name_from_file(filename)).append("|")
61
- stack_methods.append(name).append("|")
62
- stack_lines.append(str(lineno)).append("|")
63
- stack_files.append(filename).append("|")
64
-
65
- exception_command = exception_command.add_arg_to_payload(ExceptionSerializer.get_exception_code(exception_name))
66
- exception_command = exception_command.add_arg_to_payload(str(command))
67
- exception_command = exception_command.add_arg_to_payload(exception_name)
68
- exception_command = exception_command.add_arg_to_payload(str(exception_message))
69
- exception_command = exception_command.add_arg_to_payload(stack_classes.__str__())
70
- exception_command = exception_command.add_arg_to_payload(stack_methods.__str__())
71
- exception_command = exception_command.add_arg_to_payload(stack_lines.__str__())
72
- exception_command = exception_command.add_arg_to_payload(stack_files.__str__())
39
+ exception_command = Command(RuntimeName.python27, CommandType.Exception, [])
40
+ stack_classes = []
41
+ stack_methods = []
42
+ stack_lines = []
43
+ stack_files = []
44
+
45
+ try:
46
+ _, _, tb = sys.exc_info()
47
+ trace = traceback.extract_tb(tb)
48
+ exception_message = str(exception)
49
+
50
+ exception_name = exception.__class__.__name__
51
+
52
+ for frame in trace:
53
+ class_name = ExceptionSerializer.safe_get_class_name(frame)
54
+ method_name = ExceptionSerializer.safe_get_method_name(frame)
55
+ file_name = ExceptionSerializer.safe_get_file_name(frame)
56
+ line = ExceptionSerializer.safe_get_line(frame)
57
+
58
+ if "javonet" not in class_name and "reflect" not in class_name:
59
+ stack_classes.append(class_name)
60
+ stack_methods.append(method_name)
61
+ stack_lines.append(str(line))
62
+ stack_files.append(file_name)
63
+
64
+ stack_classes_str = "|".join(stack_classes)
65
+ stack_methods_str = "|".join(stack_methods)
66
+ stack_lines_str = "|".join(stack_lines)
67
+ stack_files_str = "|".join(stack_files)
68
+
69
+ exception_command = exception_command.add_arg_to_payload(
70
+ ExceptionSerializer.get_exception_code(exception_name))
71
+ exception_command = exception_command.add_arg_to_payload(str(command) if command else "Command is null")
72
+ exception_command = exception_command.add_arg_to_payload(exception_name)
73
+ exception_command = exception_command.add_arg_to_payload(str(exception_message))
74
+ exception_command = exception_command.add_arg_to_payload(stack_classes_str)
75
+ exception_command = exception_command.add_arg_to_payload(stack_methods_str)
76
+ exception_command = exception_command.add_arg_to_payload(stack_lines_str)
77
+ exception_command = exception_command.add_arg_to_payload(stack_files_str)
78
+
79
+ except Exception as ex:
80
+ exception_command = Command(command.runtime_name, CommandType.Exception, [])
81
+ exception_command = exception_command.add_arg_to_payload(
82
+ ExceptionSerializer.get_exception_code(ex.__class__.__name__))
83
+
84
+ exception_command = exception_command.add_arg_to_payload(str(command) if command else "Command is null")
85
+ exception_command = exception_command.add_arg_to_payload("Python Exception Serialization Error")
86
+ exception_command = exception_command.add_arg_to_payload(str(ex))
87
+ exception_command = exception_command.add_arg_to_payload("ExceptionSerializer")
88
+ exception_command = exception_command.add_arg_to_payload("serialize_exception")
89
+ exception_command = exception_command.add_arg_to_payload("undefined")
90
+ exception_command = exception_command.add_arg_to_payload("ExceptionSerializer.py")
73
91
 
74
92
  return exception_command
75
93
 
94
+ @staticmethod
95
+ def safe_get_class_name(frame):
96
+ try:
97
+ return ExceptionSerializer.format_class_name_from_file(frame[0])
98
+ except Exception:
99
+ return "undefined"
100
+
101
+ @staticmethod
102
+ def safe_get_method_name(frame):
103
+ try:
104
+ return frame[2] if frame[2] else "undefined"
105
+ except Exception:
106
+ return "undefined"
107
+
108
+ @staticmethod
109
+ def safe_get_file_name(frame):
110
+ try:
111
+ return frame[0] if frame[0] else "undefined"
112
+ except Exception:
113
+ return "undefined"
114
+
115
+ @staticmethod
116
+ def safe_get_line(frame):
117
+ try:
118
+ return frame[1] if frame[1] >= 0 else 0
119
+ except Exception:
120
+ return 0
121
+
76
122
  @staticmethod
77
123
  def get_exception_code(exception_name):
78
124
  """
@@ -91,4 +137,4 @@ class ExceptionSerializer(object):
91
137
  :param filename: File name
92
138
  :return: Class name
93
139
  """
94
- return os.path.splitext((os.path.split(filename)[1]))[0]
140
+ return os.path.splitext((os.path.split(filename)[1]))[0]
@@ -1 +1 @@
1
- 2.6.0
1
+ 2.6.2
@@ -2,6 +2,7 @@ require_relative '../interpreter/interpreter'
2
2
  require_relative '../../utils/runtime_logger'
3
3
  require_relative '../protocol/command_serializer'
4
4
  require_relative '../../utils/command'
5
+ require_relative '../../utils/os_helper'
5
6
 
6
7
  class Receiver
7
8
 
@@ -11,7 +12,7 @@ class Receiver
11
12
 
12
13
  def send_command(message_array, message_array_len)
13
14
  begin
14
- CommandSerializer.new.serialize(Interpreter.new.process(message_array))
15
+ response_array = CommandSerializer.new.serialize(Interpreter.new.process(message_array))
15
16
  rescue Exception => e
16
17
  message = "Error occurred in Javonet Ruby Core: #{e.message}"
17
18
  puts message
@@ -24,12 +25,14 @@ class Receiver
24
25
  exception_command = exception_command.add_arg_to_payload("send_command")
25
26
  exception_command = exception_command.add_arg_to_payload("undefined")
26
27
  exception_command = exception_command.add_arg_to_payload(__FILE__)
27
- CommandSerializer.new.serialize(exception_command)
28
+ response_array = CommandSerializer.new.serialize(exception_command)
28
29
  end
30
+ [response_array.length, response_array]
29
31
  end
30
32
 
31
33
  def heart_beat(message_array, message_array_len)
32
- [49,48]
34
+ response_array = [49, 48]
35
+ [response_array.length, response_array]
33
36
  end
34
37
 
35
38
  def get_runtime_info
@@ -0,0 +1,21 @@
1
+ class OSHelper
2
+ def self.windows?
3
+ RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/i
4
+ end
5
+
6
+ def self.mac?
7
+ RbConfig::CONFIG['host_os'] =~ /darwin/i
8
+ end
9
+
10
+ def self.linux?
11
+ RbConfig::CONFIG['host_os'] =~ /linux/i
12
+ end
13
+
14
+ def self.unix?
15
+ RbConfig::CONFIG['host_os'] =~ /unix/i
16
+ end
17
+
18
+ def self.os_name
19
+ RbConfig::CONFIG['host_os']
20
+ end
21
+ end