javonet-ruby-sdk 2.5.4 → 2.5.5

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 (207) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/javonet-ruby-sdk.gemspec +1 -1
  4. data/lib/javonet-ruby-sdk/Binaries/Clr/JavonetClrRuntime.dll +0 -0
  5. data/lib/javonet-ruby-sdk/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
  6. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
  7. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetCppRuntimeNative.so +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetGoRuntimeNative.so +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
  10. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetNetcoreRuntimeNative.so +0 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetPythonRuntimeNative.so +0 -0
  12. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRubyRuntimeNative.so +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/version.txt +1 -1
  15. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/NativeUtilsUnitTests.xml +18 -18
  16. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  20. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  21. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  23. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libJavonetActivationService.so +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libUtils.so +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
  30. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  32. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  37. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  41. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
  42. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
  43. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
  45. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
  48. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRuby278RuntimeNative.dll +0 -0
  49. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
  50. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
  51. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
  52. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
  53. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/version.txt +0 -0
  54. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  55. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  56. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  57. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  58. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  59. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  60. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs1816RuntimeNative.dll +0 -0
  61. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  62. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  63. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  64. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRuby278RuntimeNative.dll +0 -0
  65. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  66. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
  67. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
  68. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  69. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
  70. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
  71. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
  72. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
  73. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
  74. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
  75. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
  76. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
  77. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
  78. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
  79. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Utils.dll +0 -0
  80. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/version.txt +1 -1
  81. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
  82. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
  83. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/transmitter/Transmitter.js +6 -2
  84. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/transmitter/TransmitterWrapper.js +3 -4
  85. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Nice/Try.pm +215 -5
  86. 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
  87. 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
  88. 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
  89. 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
  90. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  91. 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
  92. 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
  93. 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
  94. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  95. 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
  96. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +85 -85
  97. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  98. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  99. 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
  100. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  101. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  102. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +20 -20
  103. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/Nice/Try.pm +215 -5
  104. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/__pycache__/__init__.cpython-312.pyc +0 -0
  105. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/DelegatesCache.cpython-312.pyc +0 -0
  106. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/__init__.cpython-312.pyc +0 -0
  107. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/__pycache__/__init__.cpython-312.pyc +0 -0
  108. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-312.pyc +0 -0
  109. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/internal/__pycache__/__init__.cpython-312.pyc +0 -0
  110. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractCommandHandler.cpython-312.pyc +0 -0
  111. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractHandler.cpython-312.pyc +0 -0
  112. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetItemHandler.cpython-312.pyc +0 -0
  113. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetRankHandler.cpython-312.pyc +0 -0
  114. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetSizeHandler.cpython-312.pyc +0 -0
  115. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayHandler.cpython-312.pyc +0 -0
  116. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArraySetItemHandler.cpython-312.pyc +0 -0
  117. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CastingHandler.cpython-312.pyc +0 -0
  118. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateClassInstanceHandler.cpython-312.pyc +0 -0
  119. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/DestructReferenceHandler.cpython-312.pyc +0 -0
  120. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableNamespaceHandler.cpython-312.pyc +0 -0
  121. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableTypeHandler.cpython-312.pyc +0 -0
  122. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumItemHandler.cpython-312.pyc +0 -0
  123. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumNameHandler.cpython-312.pyc +0 -0
  124. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumValueHandler.cpython-312.pyc +0 -0
  125. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceFieldHandler.cpython-312.pyc +0 -0
  126. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceMethodAsDelegateHandler.cpython-312.pyc +0 -0
  127. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticFieldHandler.cpython-312.pyc +0 -0
  128. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticMethodAsDelegateHandler.cpython-312.pyc +0 -0
  129. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetTypeHandler.cpython-312.pyc +0 -0
  130. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/Handler.cpython-312.pyc +0 -0
  131. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HandlerDictionary.cpython-312.pyc +0 -0
  132. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeDelegateHandler.cpython-312.pyc +0 -0
  133. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeInstanceMethodHandler.cpython-312.pyc +0 -0
  134. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeStaticMethodHandler.cpython-312.pyc +0 -0
  135. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/LoadLibraryHandler.cpython-312.pyc +0 -0
  136. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PassDelegateHandler.cpython-312.pyc +0 -0
  137. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ResolveInstanceHandler.cpython-312.pyc +0 -0
  138. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetInstanceFieldHandler.cpython-312.pyc +0 -0
  139. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetStaticFieldHandler.cpython-312.pyc +0 -0
  140. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueHandler.cpython-312.pyc +0 -0
  141. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/__init__.cpython-312.pyc +0 -0
  142. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/Interpreter.cpython-312.pyc +0 -0
  143. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/__init__.cpython-312.pyc +0 -0
  144. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/NamespaceCache.cpython-312.pyc +0 -0
  145. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  146. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-312.pyc +0 -0
  147. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandSerializer.cpython-312.pyc +0 -0
  148. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-312.pyc +0 -0
  149. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeSerializer.cpython-312.pyc +0 -0
  150. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/__init__.cpython-312.pyc +0 -0
  151. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/Receiver.cpython-312.pyc +0 -0
  152. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/__init__.cpython-312.pyc +0 -0
  153. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/ReferencesCache.cpython-312.pyc +0 -0
  154. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  155. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/transmitter/TransmitterWrapper.py +3 -6
  156. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/TypeCache.cpython-312.pyc +0 -0
  157. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/__init__.cpython-312.pyc +0 -0
  158. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Command.cpython-312.pyc +0 -0
  159. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/CommandType.cpython-312.pyc +0 -0
  160. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ConnectionType.cpython-312.pyc +0 -0
  161. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ExceptionType.cpython-312.pyc +0 -0
  162. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeLogger.cpython-312.pyc +0 -0
  163. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeName.cpython-312.pyc +0 -0
  164. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/StringEncodingMode.cpython-312.pyc +0 -0
  165. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Type.cpython-312.pyc +0 -0
  166. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  167. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/IConnectionData.cpython-312.pyc +0 -0
  168. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/InMemoryConnectionData.cpython-312.pyc +0 -0
  169. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/__init__.cpython-312.pyc +0 -0
  170. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-312.pyc +0 -0
  171. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/__init__.cpython-312.pyc +0 -0
  172. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/interpreter/interpreter.rb +4 -4
  173. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_serializer.rb +18 -59
  174. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/type_serializer.rb +23 -0
  175. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/receiver/receiver.rb +4 -2
  176. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/transmitter/transmitter.rb +1 -1
  177. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/transmitter/transmitter_wrapper.rb +1 -1
  178. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/runtime_logger.rb +16 -8
  179. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/tcp_connection_data.rb +4 -0
  180. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/interpreter/interpreter.rb +4 -4
  181. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_serializer.rb +18 -59
  182. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/type_serializer.rb +23 -0
  183. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/receiver/receiver.rb +4 -2
  184. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter.rb +1 -1
  185. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter_wrapper.rb +1 -1
  186. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/runtime_logger.rb +16 -8
  187. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/tcp_connection_data.rb +4 -0
  188. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/interpreter/interpreter.rb +4 -4
  189. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_serializer.rb +18 -59
  190. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/type_serializer.rb +23 -0
  191. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/receiver/receiver.rb +4 -2
  192. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/transmitter/transmitter.rb +1 -1
  193. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/transmitter/transmitter_wrapper.rb +1 -1
  194. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/runtime_logger.rb +16 -8
  195. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/tcp_connection_data.rb +4 -0
  196. data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
  197. data/lib/javonet-ruby-sdk/core/interpreter/interpreter.rb +4 -4
  198. data/lib/javonet-ruby-sdk/core/protocol/command_serializer.rb +18 -59
  199. data/lib/javonet-ruby-sdk/core/protocol/type_serializer.rb +23 -0
  200. data/lib/javonet-ruby-sdk/core/receiver/receiver.rb +4 -2
  201. data/lib/javonet-ruby-sdk/core/transmitter/transmitter.rb +1 -1
  202. data/lib/javonet-ruby-sdk/core/transmitter/transmitter_wrapper.rb +1 -1
  203. data/lib/javonet-ruby-sdk/sdk/config_runtime_factory.rb +2 -0
  204. data/lib/javonet-ruby-sdk/sdk/javonet.rb +7 -13
  205. data/lib/javonet-ruby-sdk/utils/runtime_logger.rb +16 -8
  206. data/lib/javonet-ruby-sdk/utils/tcp_connection_data.rb +4 -0
  207. metadata +4 -4
@@ -5,8 +5,8 @@ require_relative '../handler/handler'
5
5
  class Interpreter
6
6
  @@handler = Handler.new
7
7
 
8
- def execute(command, connection_type, tcp_connection_data)
9
- message_byte_array = CommandSerializer.new.serialize(command, connection_type, tcp_connection_data)
8
+ def execute(command, connection_type, connection_data)
9
+ message_byte_array = CommandSerializer.new.serialize(command, connection_data)
10
10
  if command.runtime_name == RuntimeName::RUBY && connection_type == ConnectionType::IN_MEMORY
11
11
  require_relative '../receiver/receiver'
12
12
  response_byte_array = Receiver.new.send_command(message_byte_array, message_byte_array.length)
@@ -18,8 +18,8 @@ class Interpreter
18
18
  CommandDeserializer.new(response_byte_array).deserialize
19
19
  end
20
20
 
21
- def process(byte_array, byte_array_len)
21
+ def process(byte_array)
22
22
  received_command = CommandDeserializer.new(byte_array).deserialize
23
- CommandSerializer.new.serialize(@@handler.handle_command(received_command))
23
+ @@handler.handle_command(received_command)
24
24
  end
25
25
  end
@@ -1,78 +1,37 @@
1
1
  require_relative 'type_serializer'
2
- require_relative '../../utils/connection_type'
2
+ require_relative '../../utils/command'
3
3
  require_relative '../../utils/runtime_name'
4
4
  require_relative '../../utils/tcp_connection_data'
5
5
 
6
6
  class CommandSerializer
7
-
8
7
  def initialize
9
- @byte_buffer = []
10
- end
11
-
12
- def serialize(root_command, connection_type = ConnectionType::IN_MEMORY, tcp_connection_data = nil, runtime_version = 0)
13
- queue = []
14
- queue.unshift(root_command)
15
- self.insert_into_buffer([root_command.runtime_name, runtime_version])
16
- self.insert_into_buffer([connection_type])
17
- self.insert_into_buffer(self.serialize_tcp(tcp_connection_data))
18
- self.insert_into_buffer([RuntimeName::RUBY, root_command.command_type])
19
- self.serialize_recursively(queue)
8
+ @buffer = []
20
9
  end
21
10
 
22
- def serialize_tcp(tcp_connection_data)
23
- if tcp_connection_data.nil?
24
- return [0, 0, 0, 0, 0, 0]
11
+ def serialize(root_command, connection_data = nil, runtime_version = 0)
12
+ insert_into_buffer([root_command.runtime_name, runtime_version])
13
+ if connection_data.nil?
14
+ insert_into_buffer([0, 0, 0, 0, 0, 0, 0])
15
+ else
16
+ insert_into_buffer(connection_data.serialize_connection_data)
25
17
  end
26
- tcp_connection_data.get_address_bytes + tcp_connection_data.get_port_bytes
18
+ insert_into_buffer([RuntimeName::PYTHON, root_command.command_type])
19
+ serialize_recursively(root_command)
20
+ @buffer
27
21
  end
28
22
 
29
- def serialize_primitive(payload_item)
30
- if payload_item.nil?
31
- return TypeSerializer.serialize_nil
32
- elsif [true, false].include? payload_item
33
- return TypeSerializer.serialize_bool(payload_item)
34
- elsif payload_item.is_a? Integer
35
- if (-2 ** 31..2 ** 31).include?(payload_item)
36
- return TypeSerializer.serialize_int(payload_item)
37
- elsif (-2 ** 63..2 ** 63).include?(payload_item)
38
- return TypeSerializer.serialize_longlong(payload_item)
23
+ def serialize_recursively(command)
24
+ command.payload.each do |item|
25
+ if item.is_a?(Command)
26
+ insert_into_buffer(TypeSerializer.serialize_command(item))
27
+ serialize_recursively(item)
39
28
  else
40
- return TypeSerializer.serialize_ullong(payload_item)
29
+ insert_into_buffer(TypeSerializer.serialize_primitive(item))
41
30
  end
42
- elsif payload_item.is_a? String
43
- return TypeSerializer.serialize_string(payload_item)
44
- elsif payload_item.is_a? Float
45
- return TypeSerializer.serialize_double(payload_item)
46
- elsif payload_item.is_a?
47
- else
48
- raise Exception.new("Payload not supported in command serializer")
49
31
  end
50
32
  end
51
33
 
52
34
  def insert_into_buffer(arguments)
53
- @byte_buffer = @byte_buffer + arguments
35
+ @buffer += arguments
54
36
  end
55
-
56
- def serialize_recursively(queue)
57
- if queue.length == 0
58
- return @byte_buffer
59
- end
60
- command = queue.shift
61
- queue.unshift(command.drop_first_payload_argument)
62
- if command.payload.length > 0
63
- if command.payload[0].is_a? Command
64
- inner_command = command.payload[0]
65
- self.insert_into_buffer(TypeSerializer.serialize_command(inner_command))
66
- queue.unshift(inner_command)
67
- else
68
- result = self.serialize_primitive(command.payload[0])
69
- self.insert_into_buffer(result)
70
- return self.serialize_recursively(queue)
71
- end
72
- else
73
- queue.shift
74
- end
75
- self.serialize_recursively(queue)
76
- end
77
-
78
37
  end
@@ -3,6 +3,29 @@ require_relative '../../utils/string_encoding_mode'
3
3
 
4
4
  class TypeSerializer
5
5
 
6
+ def self.serialize_primitive(payload_item)
7
+ if payload_item.nil?
8
+ return TypeSerializer.serialize_nil
9
+ elsif [true, false].include? payload_item
10
+ return TypeSerializer.serialize_bool(payload_item)
11
+ elsif payload_item.is_a? Integer
12
+ if (-2 ** 31..2 ** 31).include?(payload_item)
13
+ return TypeSerializer.serialize_int(payload_item)
14
+ elsif (-2 ** 63..2 ** 63).include?(payload_item)
15
+ return TypeSerializer.serialize_longlong(payload_item)
16
+ else
17
+ return TypeSerializer.serialize_ullong(payload_item)
18
+ end
19
+ elsif payload_item.is_a? String
20
+ return TypeSerializer.serialize_string(payload_item)
21
+ elsif payload_item.is_a? Float
22
+ return TypeSerializer.serialize_double(payload_item)
23
+ elsif payload_item.is_a?
24
+ else
25
+ raise Exception.new("Payload not supported in command serializer")
26
+ end
27
+ end
28
+
6
29
  def self.serialize_command(command)
7
30
  length = [command.payload.length].pack("i").bytes
8
31
  return [Type::COMMAND] + length + [command.runtime_name, command.command_type]
@@ -1,13 +1,15 @@
1
1
  require_relative '../interpreter/interpreter'
2
+ require_relative '../../utils/runtime_logger'
3
+ require_relative '../protocol/command_serializer'
2
4
 
3
5
  class Receiver
4
6
 
5
7
  def initialize
6
- @@interpreter = Interpreter.new
8
+ RuntimeLogger.print_runtime_info
7
9
  end
8
10
 
9
11
  def send_command(message_array, message_array_len)
10
- @@interpreter.process(message_array, message_array_len)
12
+ CommandSerializer.new.serialize(Interpreter.new.process(message_array))
11
13
  end
12
14
 
13
15
  def heart_beat(message_array, message_array_len)
@@ -23,7 +23,7 @@ class Transmitter
23
23
  end
24
24
 
25
25
  def self.activate(license_key)
26
- activation_result = TransmitterWrapper.Activate(license_key, "", "", "")
26
+ activation_result = TransmitterWrapper.Activate(license_key)
27
27
  if activation_result < 0
28
28
  error_message = get_native_error
29
29
  raise Exception.new "Javonet activation result: " + activation_result.to_s + ". Native error message: " + error_message
@@ -25,7 +25,7 @@ module TransmitterWrapper
25
25
 
26
26
  attach_function :SendCommand, [:pointer, :int], :int
27
27
  attach_function :ReadResponse, [:pointer, :int], :int
28
- attach_function :Activate, [:pointer, :pointer, :pointer, :pointer], :int
28
+ attach_function :Activate, [:pointer], :int
29
29
  attach_function :GetNativeError, [], :string
30
30
  attach_function :SetConfigSource, [:pointer], :int
31
31
  end
@@ -2,20 +2,28 @@ class RuntimeLogger
2
2
 
3
3
  @not_logged_yet = true
4
4
 
5
- def self.get_runtime_info
5
+ def self.get_runtime_info(get_loaded_modules)
6
6
  begin
7
- "Ruby Managed Runtime Info:\n" \
8
- "Ruby Version: #{RUBY_VERSION}\n" \
9
- "Ruby Implementation: #{RUBY_ENGINE}\n" \
10
- "Current Directory: #{Dir.pwd}\n"
7
+ runtime_info = "Ruby Managed Runtime Info:\n".force_encoding('UTF-8') +
8
+ "Ruby Version: #{RUBY_VERSION}\n".force_encoding('UTF-8') +
9
+ "Ruby Implementation: #{RUBY_ENGINE}\n".force_encoding('UTF-8') +
10
+ "Ruby Platform: #{RUBY_PLATFORM}\n".force_encoding('UTF-8') +
11
+ "Ruby Engine: #{RUBY_ENGINE}\n".force_encoding('UTF-8') +
12
+ "Ruby Engine Version: #{RUBY_ENGINE_VERSION}\n".force_encoding('UTF-8') +
13
+ "Current Directory: #{Dir.pwd}\n".force_encoding('UTF-8') +
14
+ "Ruby search path: " + $LOAD_PATH.join(", ").force_encoding('UTF-8') + "\n"
15
+ if get_loaded_modules
16
+ runtime_info += "Ruby loaded modules (excluding Javonet classes): " + $LOADED_FEATURES.reject { |feature| feature.include?("Binaries/Ruby") }.join(", ").force_encoding('UTF-8') + "\n"
17
+ end
18
+ return runtime_info
11
19
  rescue => e
12
- "Ruby Managed Runtime Info: Error while fetching runtime info"
20
+ "Ruby Managed Runtime Info: Error while fetching runtime info".force_encoding('UTF-8')
13
21
  end
14
22
  end
15
23
 
16
- def self.print_runtime_info
24
+ def self.print_runtime_info(get_loaded_modules = true)
17
25
  if @not_logged_yet
18
- puts get_runtime_info
26
+ puts get_runtime_info(get_loaded_modules)
19
27
  @not_logged_yet = false
20
28
  end
21
29
  end
@@ -30,4 +30,8 @@ class TcpConnectionData
30
30
  def get_port_bytes
31
31
  [@port & 0xFF, @port >> 8]
32
32
  end
33
+
34
+ def serialize_connection_data
35
+ [ConnectionType::TCP] + get_address_bytes + get_port_bytes
36
+ end
33
37
  end
@@ -5,8 +5,8 @@ require_relative '../handler/handler'
5
5
  class Interpreter
6
6
  @@handler = Handler.new
7
7
 
8
- def execute(command, connection_type, tcp_connection_data)
9
- message_byte_array = CommandSerializer.new.serialize(command, connection_type, tcp_connection_data)
8
+ def execute(command, connection_type, connection_data)
9
+ message_byte_array = CommandSerializer.new.serialize(command, connection_data)
10
10
  if command.runtime_name == RuntimeName::RUBY && connection_type == ConnectionType::IN_MEMORY
11
11
  require_relative '../receiver/receiver'
12
12
  response_byte_array = Receiver.new.send_command(message_byte_array, message_byte_array.length)
@@ -18,8 +18,8 @@ class Interpreter
18
18
  CommandDeserializer.new(response_byte_array).deserialize
19
19
  end
20
20
 
21
- def process(byte_array, byte_array_len)
21
+ def process(byte_array)
22
22
  received_command = CommandDeserializer.new(byte_array).deserialize
23
- CommandSerializer.new.serialize(@@handler.handle_command(received_command))
23
+ @@handler.handle_command(received_command)
24
24
  end
25
25
  end
@@ -1,78 +1,37 @@
1
1
  require_relative 'type_serializer'
2
- require_relative '../../utils/connection_type'
2
+ require_relative '../../utils/command'
3
3
  require_relative '../../utils/runtime_name'
4
4
  require_relative '../../utils/tcp_connection_data'
5
5
 
6
6
  class CommandSerializer
7
-
8
7
  def initialize
9
- @byte_buffer = []
10
- end
11
-
12
- def serialize(root_command, connection_type = ConnectionType::IN_MEMORY, tcp_connection_data = nil, runtime_version = 0)
13
- queue = []
14
- queue.unshift(root_command)
15
- self.insert_into_buffer([root_command.runtime_name, runtime_version])
16
- self.insert_into_buffer([connection_type])
17
- self.insert_into_buffer(self.serialize_tcp(tcp_connection_data))
18
- self.insert_into_buffer([RuntimeName::RUBY, root_command.command_type])
19
- self.serialize_recursively(queue)
8
+ @buffer = []
20
9
  end
21
10
 
22
- def serialize_tcp(tcp_connection_data)
23
- if tcp_connection_data.nil?
24
- return [0, 0, 0, 0, 0, 0]
11
+ def serialize(root_command, connection_data = nil, runtime_version = 0)
12
+ insert_into_buffer([root_command.runtime_name, runtime_version])
13
+ if connection_data.nil?
14
+ insert_into_buffer([0, 0, 0, 0, 0, 0, 0])
15
+ else
16
+ insert_into_buffer(connection_data.serialize_connection_data)
25
17
  end
26
- tcp_connection_data.get_address_bytes + tcp_connection_data.get_port_bytes
18
+ insert_into_buffer([RuntimeName::PYTHON, root_command.command_type])
19
+ serialize_recursively(root_command)
20
+ @buffer
27
21
  end
28
22
 
29
- def serialize_primitive(payload_item)
30
- if payload_item.nil?
31
- return TypeSerializer.serialize_nil
32
- elsif [true, false].include? payload_item
33
- return TypeSerializer.serialize_bool(payload_item)
34
- elsif payload_item.is_a? Integer
35
- if (-2 ** 31..2 ** 31).include?(payload_item)
36
- return TypeSerializer.serialize_int(payload_item)
37
- elsif (-2 ** 63..2 ** 63).include?(payload_item)
38
- return TypeSerializer.serialize_longlong(payload_item)
23
+ def serialize_recursively(command)
24
+ command.payload.each do |item|
25
+ if item.is_a?(Command)
26
+ insert_into_buffer(TypeSerializer.serialize_command(item))
27
+ serialize_recursively(item)
39
28
  else
40
- return TypeSerializer.serialize_ullong(payload_item)
29
+ insert_into_buffer(TypeSerializer.serialize_primitive(item))
41
30
  end
42
- elsif payload_item.is_a? String
43
- return TypeSerializer.serialize_string(payload_item)
44
- elsif payload_item.is_a? Float
45
- return TypeSerializer.serialize_double(payload_item)
46
- elsif payload_item.is_a?
47
- else
48
- raise Exception.new("Payload not supported in command serializer")
49
31
  end
50
32
  end
51
33
 
52
34
  def insert_into_buffer(arguments)
53
- @byte_buffer = @byte_buffer + arguments
35
+ @buffer += arguments
54
36
  end
55
-
56
- def serialize_recursively(queue)
57
- if queue.length == 0
58
- return @byte_buffer
59
- end
60
- command = queue.shift
61
- queue.unshift(command.drop_first_payload_argument)
62
- if command.payload.length > 0
63
- if command.payload[0].is_a? Command
64
- inner_command = command.payload[0]
65
- self.insert_into_buffer(TypeSerializer.serialize_command(inner_command))
66
- queue.unshift(inner_command)
67
- else
68
- result = self.serialize_primitive(command.payload[0])
69
- self.insert_into_buffer(result)
70
- return self.serialize_recursively(queue)
71
- end
72
- else
73
- queue.shift
74
- end
75
- self.serialize_recursively(queue)
76
- end
77
-
78
37
  end
@@ -3,6 +3,29 @@ require_relative '../../utils/string_encoding_mode'
3
3
 
4
4
  class TypeSerializer
5
5
 
6
+ def self.serialize_primitive(payload_item)
7
+ if payload_item.nil?
8
+ return TypeSerializer.serialize_nil
9
+ elsif [true, false].include? payload_item
10
+ return TypeSerializer.serialize_bool(payload_item)
11
+ elsif payload_item.is_a? Integer
12
+ if (-2 ** 31..2 ** 31).include?(payload_item)
13
+ return TypeSerializer.serialize_int(payload_item)
14
+ elsif (-2 ** 63..2 ** 63).include?(payload_item)
15
+ return TypeSerializer.serialize_longlong(payload_item)
16
+ else
17
+ return TypeSerializer.serialize_ullong(payload_item)
18
+ end
19
+ elsif payload_item.is_a? String
20
+ return TypeSerializer.serialize_string(payload_item)
21
+ elsif payload_item.is_a? Float
22
+ return TypeSerializer.serialize_double(payload_item)
23
+ elsif payload_item.is_a?
24
+ else
25
+ raise Exception.new("Payload not supported in command serializer")
26
+ end
27
+ end
28
+
6
29
  def self.serialize_command(command)
7
30
  length = [command.payload.length].pack("i").bytes
8
31
  return [Type::COMMAND] + length + [command.runtime_name, command.command_type]
@@ -1,13 +1,15 @@
1
1
  require_relative '../interpreter/interpreter'
2
+ require_relative '../../utils/runtime_logger'
3
+ require_relative '../protocol/command_serializer'
2
4
 
3
5
  class Receiver
4
6
 
5
7
  def initialize
6
- @@interpreter = Interpreter.new
8
+ RuntimeLogger.print_runtime_info
7
9
  end
8
10
 
9
11
  def send_command(message_array, message_array_len)
10
- @@interpreter.process(message_array, message_array_len)
12
+ CommandSerializer.new.serialize(Interpreter.new.process(message_array))
11
13
  end
12
14
 
13
15
  def heart_beat(message_array, message_array_len)
@@ -23,7 +23,7 @@ class Transmitter
23
23
  end
24
24
 
25
25
  def self.activate(license_key)
26
- activation_result = TransmitterWrapper.Activate(license_key, "", "", "")
26
+ activation_result = TransmitterWrapper.Activate(license_key)
27
27
  if activation_result < 0
28
28
  error_message = get_native_error
29
29
  raise Exception.new "Javonet activation result: " + activation_result.to_s + ". Native error message: " + error_message
@@ -25,7 +25,7 @@ module TransmitterWrapper
25
25
 
26
26
  attach_function :SendCommand, [:pointer, :int], :int
27
27
  attach_function :ReadResponse, [:pointer, :int], :int
28
- attach_function :Activate, [:pointer, :pointer, :pointer, :pointer], :int
28
+ attach_function :Activate, [:pointer], :int
29
29
  attach_function :GetNativeError, [], :string
30
30
  attach_function :SetConfigSource, [:pointer], :int
31
31
  end
@@ -2,20 +2,28 @@ class RuntimeLogger
2
2
 
3
3
  @not_logged_yet = true
4
4
 
5
- def self.get_runtime_info
5
+ def self.get_runtime_info(get_loaded_modules)
6
6
  begin
7
- "Ruby Managed Runtime Info:\n" \
8
- "Ruby Version: #{RUBY_VERSION}\n" \
9
- "Ruby Implementation: #{RUBY_ENGINE}\n" \
10
- "Current Directory: #{Dir.pwd}\n"
7
+ runtime_info = "Ruby Managed Runtime Info:\n".force_encoding('UTF-8') +
8
+ "Ruby Version: #{RUBY_VERSION}\n".force_encoding('UTF-8') +
9
+ "Ruby Implementation: #{RUBY_ENGINE}\n".force_encoding('UTF-8') +
10
+ "Ruby Platform: #{RUBY_PLATFORM}\n".force_encoding('UTF-8') +
11
+ "Ruby Engine: #{RUBY_ENGINE}\n".force_encoding('UTF-8') +
12
+ "Ruby Engine Version: #{RUBY_ENGINE_VERSION}\n".force_encoding('UTF-8') +
13
+ "Current Directory: #{Dir.pwd}\n".force_encoding('UTF-8') +
14
+ "Ruby search path: " + $LOAD_PATH.join(", ").force_encoding('UTF-8') + "\n"
15
+ if get_loaded_modules
16
+ runtime_info += "Ruby loaded modules (excluding Javonet classes): " + $LOADED_FEATURES.reject { |feature| feature.include?("Binaries/Ruby") }.join(", ").force_encoding('UTF-8') + "\n"
17
+ end
18
+ return runtime_info
11
19
  rescue => e
12
- "Ruby Managed Runtime Info: Error while fetching runtime info"
20
+ "Ruby Managed Runtime Info: Error while fetching runtime info".force_encoding('UTF-8')
13
21
  end
14
22
  end
15
23
 
16
- def self.print_runtime_info
24
+ def self.print_runtime_info(get_loaded_modules = true)
17
25
  if @not_logged_yet
18
- puts get_runtime_info
26
+ puts get_runtime_info(get_loaded_modules)
19
27
  @not_logged_yet = false
20
28
  end
21
29
  end
@@ -30,4 +30,8 @@ class TcpConnectionData
30
30
  def get_port_bytes
31
31
  [@port & 0xFF, @port >> 8]
32
32
  end
33
+
34
+ def serialize_connection_data
35
+ [ConnectionType::TCP] + get_address_bytes + get_port_bytes
36
+ end
33
37
  end
@@ -5,8 +5,8 @@ require_relative '../handler/handler'
5
5
  class Interpreter
6
6
  @@handler = Handler.new
7
7
 
8
- def execute(command, connection_type, tcp_connection_data)
9
- message_byte_array = CommandSerializer.new.serialize(command, connection_type, tcp_connection_data)
8
+ def execute(command, connection_type, connection_data)
9
+ message_byte_array = CommandSerializer.new.serialize(command, connection_data)
10
10
  if command.runtime_name == RuntimeName::RUBY && connection_type == ConnectionType::IN_MEMORY
11
11
  require_relative '../receiver/receiver'
12
12
  response_byte_array = Receiver.new.send_command(message_byte_array, message_byte_array.length)
@@ -18,8 +18,8 @@ class Interpreter
18
18
  CommandDeserializer.new(response_byte_array).deserialize
19
19
  end
20
20
 
21
- def process(byte_array, byte_array_len)
21
+ def process(byte_array)
22
22
  received_command = CommandDeserializer.new(byte_array).deserialize
23
- CommandSerializer.new.serialize(@@handler.handle_command(received_command))
23
+ @@handler.handle_command(received_command)
24
24
  end
25
25
  end
@@ -1,78 +1,37 @@
1
1
  require_relative 'type_serializer'
2
- require_relative '../../utils/connection_type'
2
+ require_relative '../../utils/command'
3
3
  require_relative '../../utils/runtime_name'
4
4
  require_relative '../../utils/tcp_connection_data'
5
5
 
6
6
  class CommandSerializer
7
-
8
7
  def initialize
9
- @byte_buffer = []
10
- end
11
-
12
- def serialize(root_command, connection_type = ConnectionType::IN_MEMORY, tcp_connection_data = nil, runtime_version = 0)
13
- queue = []
14
- queue.unshift(root_command)
15
- self.insert_into_buffer([root_command.runtime_name, runtime_version])
16
- self.insert_into_buffer([connection_type])
17
- self.insert_into_buffer(self.serialize_tcp(tcp_connection_data))
18
- self.insert_into_buffer([RuntimeName::RUBY, root_command.command_type])
19
- self.serialize_recursively(queue)
8
+ @buffer = []
20
9
  end
21
10
 
22
- def serialize_tcp(tcp_connection_data)
23
- if tcp_connection_data.nil?
24
- return [0, 0, 0, 0, 0, 0]
11
+ def serialize(root_command, connection_data = nil, runtime_version = 0)
12
+ insert_into_buffer([root_command.runtime_name, runtime_version])
13
+ if connection_data.nil?
14
+ insert_into_buffer([0, 0, 0, 0, 0, 0, 0])
15
+ else
16
+ insert_into_buffer(connection_data.serialize_connection_data)
25
17
  end
26
- tcp_connection_data.get_address_bytes + tcp_connection_data.get_port_bytes
18
+ insert_into_buffer([RuntimeName::PYTHON, root_command.command_type])
19
+ serialize_recursively(root_command)
20
+ @buffer
27
21
  end
28
22
 
29
- def serialize_primitive(payload_item)
30
- if payload_item.nil?
31
- return TypeSerializer.serialize_nil
32
- elsif [true, false].include? payload_item
33
- return TypeSerializer.serialize_bool(payload_item)
34
- elsif payload_item.is_a? Integer
35
- if (-2 ** 31..2 ** 31).include?(payload_item)
36
- return TypeSerializer.serialize_int(payload_item)
37
- elsif (-2 ** 63..2 ** 63).include?(payload_item)
38
- return TypeSerializer.serialize_longlong(payload_item)
23
+ def serialize_recursively(command)
24
+ command.payload.each do |item|
25
+ if item.is_a?(Command)
26
+ insert_into_buffer(TypeSerializer.serialize_command(item))
27
+ serialize_recursively(item)
39
28
  else
40
- return TypeSerializer.serialize_ullong(payload_item)
29
+ insert_into_buffer(TypeSerializer.serialize_primitive(item))
41
30
  end
42
- elsif payload_item.is_a? String
43
- return TypeSerializer.serialize_string(payload_item)
44
- elsif payload_item.is_a? Float
45
- return TypeSerializer.serialize_double(payload_item)
46
- elsif payload_item.is_a?
47
- else
48
- raise Exception.new("Payload not supported in command serializer")
49
31
  end
50
32
  end
51
33
 
52
34
  def insert_into_buffer(arguments)
53
- @byte_buffer = @byte_buffer + arguments
35
+ @buffer += arguments
54
36
  end
55
-
56
- def serialize_recursively(queue)
57
- if queue.length == 0
58
- return @byte_buffer
59
- end
60
- command = queue.shift
61
- queue.unshift(command.drop_first_payload_argument)
62
- if command.payload.length > 0
63
- if command.payload[0].is_a? Command
64
- inner_command = command.payload[0]
65
- self.insert_into_buffer(TypeSerializer.serialize_command(inner_command))
66
- queue.unshift(inner_command)
67
- else
68
- result = self.serialize_primitive(command.payload[0])
69
- self.insert_into_buffer(result)
70
- return self.serialize_recursively(queue)
71
- end
72
- else
73
- queue.shift
74
- end
75
- self.serialize_recursively(queue)
76
- end
77
-
78
37
  end
@@ -3,6 +3,29 @@ require_relative '../../utils/string_encoding_mode'
3
3
 
4
4
  class TypeSerializer
5
5
 
6
+ def self.serialize_primitive(payload_item)
7
+ if payload_item.nil?
8
+ return TypeSerializer.serialize_nil
9
+ elsif [true, false].include? payload_item
10
+ return TypeSerializer.serialize_bool(payload_item)
11
+ elsif payload_item.is_a? Integer
12
+ if (-2 ** 31..2 ** 31).include?(payload_item)
13
+ return TypeSerializer.serialize_int(payload_item)
14
+ elsif (-2 ** 63..2 ** 63).include?(payload_item)
15
+ return TypeSerializer.serialize_longlong(payload_item)
16
+ else
17
+ return TypeSerializer.serialize_ullong(payload_item)
18
+ end
19
+ elsif payload_item.is_a? String
20
+ return TypeSerializer.serialize_string(payload_item)
21
+ elsif payload_item.is_a? Float
22
+ return TypeSerializer.serialize_double(payload_item)
23
+ elsif payload_item.is_a?
24
+ else
25
+ raise Exception.new("Payload not supported in command serializer")
26
+ end
27
+ end
28
+
6
29
  def self.serialize_command(command)
7
30
  length = [command.payload.length].pack("i").bytes
8
31
  return [Type::COMMAND] + length + [command.runtime_name, command.command_type]
@@ -1,13 +1,15 @@
1
1
  require_relative '../interpreter/interpreter'
2
+ require_relative '../../utils/runtime_logger'
3
+ require_relative '../protocol/command_serializer'
2
4
 
3
5
  class Receiver
4
6
 
5
7
  def initialize
6
- @@interpreter = Interpreter.new
8
+ RuntimeLogger.print_runtime_info
7
9
  end
8
10
 
9
11
  def send_command(message_array, message_array_len)
10
- @@interpreter.process(message_array, message_array_len)
12
+ CommandSerializer.new.serialize(Interpreter.new.process(message_array))
11
13
  end
12
14
 
13
15
  def heart_beat(message_array, message_array_len)