javonet-ruby-sdk 2.2.0 → 2.4.0

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 (252) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/javonet-ruby-sdk.gemspec +3 -3
  4. data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/Javonet.Clr.Utils.dll +0 -0
  5. data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/JavonetClrRuntime.dll +0 -0
  6. data/lib/javonet-ruby-sdk/Binaries/Jvm/Linux/X64/JavonetJvmRuntime.jar +0 -0
  7. data/lib/javonet-ruby-sdk/Binaries/Jvm/MacOs/X64/JavonetJvmRuntime.jar +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Jvm/Windows/X64/JavonetJvmRuntime.jar +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  10. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  12. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
  15. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +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/libJavonetCppRuntimeNative.dylib +0 -0
  23. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  30. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  32. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
  33. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  37. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs1816RuntimeNative.dll +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  41. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  42. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  43. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  45. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libcrypto-3-x64.dll +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libssl-3-x64.dll +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
  48. data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Core.dll +0 -0
  49. data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Utils.dll +0 -0
  50. data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Core.dll +0 -0
  51. data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Utils.dll +0 -0
  52. data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Core.dll +0 -0
  53. data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Utils.dll +0 -0
  54. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/interpreter/Interpreter.js +3 -2
  55. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/CommandSerializer.js +21 -23
  56. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/transmitter/Transmitter.js +11 -7
  57. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/transmitter/TransmitterWrapper.js +6 -2
  58. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/utils/RuntimeNameHandler.js +30 -0
  59. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/utils/TcpConnectionData.js +43 -6
  60. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/interpreter/Interpreter.js +3 -2
  61. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/CommandSerializer.js +21 -23
  62. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/transmitter/Transmitter.js +11 -7
  63. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/transmitter/TransmitterWrapper.js +6 -2
  64. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/utils/RuntimeNameHandler.js +30 -0
  65. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/utils/TcpConnectionData.js +43 -6
  66. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/interpreter/Interpreter.js +3 -2
  67. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/CommandSerializer.js +21 -23
  68. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/transmitter/Transmitter.js +11 -7
  69. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/transmitter/TransmitterWrapper.js +6 -2
  70. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/utils/RuntimeNameHandler.js +30 -0
  71. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/utils/TcpConnectionData.js +43 -6
  72. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Meta/Requirements/Range.pm +776 -0
  73. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Meta/Requirements.pm +834 -0
  74. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Requirements/Dynamic.pm +384 -0
  75. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Config/MakeMaker.pm +141 -0
  76. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Config.pm +43 -5
  77. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/HasCompiler.pm +308 -0
  78. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/InstallPaths.pm +3 -3
  79. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Tiny.pm +26 -9
  80. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Nice/Try.pm +7 -7
  81. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Path/Tiny.pm +10 -3
  82. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Data/UUID.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 +145 -79
  94. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +15 -10
  95. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +34 -19
  96. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Javonet.pm +17 -9
  97. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/ConnectionType.pm +2 -1
  98. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +31 -9
  99. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +18 -10
  100. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Meta/Requirements/Range.pm +776 -0
  101. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Meta/Requirements.pm +834 -0
  102. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Requirements/Dynamic.pm +384 -0
  103. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/Config/MakeMaker.pm +141 -0
  104. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/Config.pm +43 -5
  105. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/HasCompiler.pm +308 -0
  106. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/InstallPaths.pm +3 -3
  107. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Module/Build/Tiny.pm +26 -9
  108. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Nice/Try.pm +7 -7
  109. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Path/Tiny.pm +10 -3
  110. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/Data/UUID.pm +2 -2
  111. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Data/UUID/UUID.bundle +0 -0
  112. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/perllocal.pod +148 -82
  113. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +15 -10
  114. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +34 -19
  115. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Javonet.pm +17 -9
  116. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/ConnectionType.pm +2 -1
  117. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +31 -9
  118. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +18 -10
  119. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/Data/UUID.pm +2 -2
  120. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  121. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  122. 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
  123. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  124. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  125. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +17 -17
  126. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/Nice/Try.pm +7 -7
  127. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +15 -10
  128. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +34 -19
  129. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Javonet.pm +17 -9
  130. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/ConnectionType.pm +2 -1
  131. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +31 -9
  132. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +18 -10
  133. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/interpreter/Interpreter.py +7 -5
  134. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/CommandSerializer.py +8 -15
  135. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/transmitter/Transmitter.py +28 -0
  136. data/lib/javonet-ruby-sdk/Binaries/Python/{MacOs/X64/javonet/core/transmitter/PythonTransmitterWrapper.py → Linux/X64/javonet/core/transmitter/TransmitterWrapper.py} +27 -10
  137. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/RuntimeNameHandler.py +26 -0
  138. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/TcpConnectionData.py +29 -0
  139. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/interpreter/Interpreter.py +7 -5
  140. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/CommandSerializer.py +8 -15
  141. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/transmitter/Transmitter.py +28 -0
  142. data/lib/javonet-ruby-sdk/Binaries/Python/{Windows/X64/javonet/core/transmitter/PythonTransmitterWrapper.py → MacOs/X64/javonet/core/transmitter/TransmitterWrapper.py} +86 -69
  143. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/RuntimeNameHandler.py +26 -0
  144. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/TcpConnectionData.py +29 -0
  145. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/__pycache__/__init__.cpython-311.pyc +0 -0
  146. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/__pycache__/__init__.cpython-311.pyc +0 -0
  147. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-311.pyc +0 -0
  148. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/__init__.cpython-311.pyc +0 -0
  149. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/AbstractCommandHandler.cpython-311.pyc +0 -0
  150. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetItemHandler.cpython-311.pyc +0 -0
  151. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetRankHandler.cpython-311.pyc +0 -0
  152. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetSizeHandler.cpython-311.pyc +0 -0
  153. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayHandler.cpython-311.pyc +0 -0
  154. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArraySetItemHandler.cpython-311.pyc +0 -0
  155. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CastingHandler.cpython-311.pyc +0 -0
  156. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CreateClassInstanceHandler.cpython-311.pyc +0 -0
  157. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/DestructReferenceHandler.cpython-311.pyc +0 -0
  158. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumItemHandler.cpython-311.pyc +0 -0
  159. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumNameHandler.cpython-311.pyc +0 -0
  160. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumValueHandler.cpython-311.pyc +0 -0
  161. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetInstanceFieldHandler.cpython-311.pyc +0 -0
  162. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetStaticFieldHandler.cpython-311.pyc +0 -0
  163. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetTypeHandler.cpython-311.pyc +0 -0
  164. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeInstanceMethodHandler.cpython-311.pyc +0 -0
  165. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeStaticMethodHandler.cpython-311.pyc +0 -0
  166. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/LoadLibraryHandler.cpython-311.pyc +0 -0
  167. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ResolveInstanceHandler.cpython-311.pyc +0 -0
  168. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetInstanceFieldHandler.cpython-311.pyc +0 -0
  169. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetStaticFieldHandler.cpython-311.pyc +0 -0
  170. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ValueHandler.cpython-311.pyc +0 -0
  171. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/__init__.cpython-311.pyc +0 -0
  172. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/AbstractHandler.cpython-311.pyc +0 -0
  173. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/Handler.cpython-311.pyc +0 -0
  174. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/HandlerDictionary.cpython-311.pyc +0 -0
  175. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ReferencesCache.cpython-311.pyc +0 -0
  176. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/__init__.cpython-311.pyc +0 -0
  177. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/Interpreter.py +7 -5
  178. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/Interpreter.cpython-311.pyc +0 -0
  179. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/__init__.cpython-311.pyc +0 -0
  180. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/CommandSerializer.py +8 -15
  181. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-311.pyc +0 -0
  182. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandSerializer.cpython-311.pyc +0 -0
  183. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-311.pyc +0 -0
  184. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeSerializer.cpython-311.pyc +0 -0
  185. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/__init__.cpython-311.pyc +0 -0
  186. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/Receiver.cpython-311.pyc +0 -0
  187. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/__init__.cpython-311.pyc +0 -0
  188. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/transmitter/Transmitter.py +28 -0
  189. data/lib/javonet-ruby-sdk/Binaries/Python/{Linux/X64/javonet/core/transmitter/PythonTransmitterWrapper.py → Windows/X64/javonet/core/transmitter/TransmitterWrapper.py} +86 -69
  190. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/RuntimeNameHandler.py +26 -0
  191. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/TcpConnectionData.py +29 -0
  192. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Command.cpython-311.pyc +0 -0
  193. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/CommandType.cpython-311.pyc +0 -0
  194. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ConnectionType.cpython-311.pyc +0 -0
  195. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ExceptionType.cpython-311.pyc +0 -0
  196. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/RuntimeName.cpython-311.pyc +0 -0
  197. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/StringEncodingMode.cpython-311.pyc +0 -0
  198. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/TcpConnectionData.cpython-311.pyc +0 -0
  199. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Type.cpython-311.pyc +0 -0
  200. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  201. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-311.pyc +0 -0
  202. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/__init__.cpython-311.pyc +0 -0
  203. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/interpreter/interpreter.rb +5 -6
  204. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_serializer.rb +8 -24
  205. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/transmitter/transmitter.rb +21 -12
  206. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/transmitter/transmitter_wrapper.rb +1 -1
  207. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/command.rb +2 -1
  208. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/runtime_name.rb +0 -30
  209. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/runtime_name_handler.rb +34 -0
  210. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/tcp_connection_data.rb +33 -0
  211. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/interpreter/interpreter.rb +5 -6
  212. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_serializer.rb +8 -24
  213. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter.rb +21 -12
  214. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter_wrapper.rb +1 -1
  215. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/command.rb +2 -1
  216. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/runtime_name.rb +0 -30
  217. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/runtime_name_handler.rb +34 -0
  218. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/tcp_connection_data.rb +33 -0
  219. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/interpreter/interpreter.rb +5 -6
  220. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_serializer.rb +8 -24
  221. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/transmitter/transmitter.rb +21 -12
  222. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/transmitter/transmitter_wrapper.rb +1 -1
  223. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/command.rb +2 -1
  224. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/runtime_name.rb +0 -30
  225. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/runtime_name_handler.rb +34 -0
  226. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/tcp_connection_data.rb +33 -0
  227. data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
  228. data/lib/javonet-ruby-sdk/core/interpreter/interpreter.rb +5 -6
  229. data/lib/javonet-ruby-sdk/core/protocol/command_serializer.rb +8 -24
  230. data/lib/javonet-ruby-sdk/core/transmitter/transmitter.rb +21 -12
  231. data/lib/javonet-ruby-sdk/core/transmitter/transmitter_wrapper.rb +1 -1
  232. data/lib/javonet-ruby-sdk/sdk/config_runtime_factory.rb +92 -0
  233. data/lib/javonet-ruby-sdk/sdk/internal/abstract_config_runtime_factory.rb +30 -0
  234. data/lib/javonet-ruby-sdk/sdk/{internal/invocation_context.rb → invocation_context.rb} +6 -6
  235. data/lib/javonet-ruby-sdk/sdk/javonet.rb +53 -0
  236. data/lib/javonet-ruby-sdk/sdk/{internal/runtime_context.rb → runtime_context.rb} +35 -35
  237. data/lib/javonet-ruby-sdk/sdk/{internal/runtime_factory.rb → runtime_factory.rb} +13 -18
  238. data/lib/javonet-ruby-sdk/sdk/tools/json_file_resolver.rb +55 -0
  239. data/lib/javonet-ruby-sdk/utils/command.rb +2 -1
  240. data/lib/javonet-ruby-sdk/utils/runtime_name.rb +0 -30
  241. data/lib/javonet-ruby-sdk/utils/runtime_name_handler.rb +34 -0
  242. data/lib/javonet-ruby-sdk/utils/tcp_connection_data.rb +33 -0
  243. data/lib/javonet-ruby-sdk.rb +1 -42
  244. metadata +63 -17
  245. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libxmlsec1-openssl.so.1.2.34 +0 -0
  246. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libxmlsec1.so.1.2.34 +0 -0
  247. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/transmitter/PythonTransmitter.py +0 -24
  248. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/transmitter/PythonTransmitter.py +0 -24
  249. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/transmitter/PythonTransmitter.py +0 -24
  250. /data/lib/javonet-ruby-sdk/sdk/internal/{abstract/abstract_invocation_context.rb → abstract_invocation_context.rb} +0 -0
  251. /data/lib/javonet-ruby-sdk/sdk/internal/{abstract/abstract_runtime_context.rb → abstract_runtime_context.rb} +0 -0
  252. /data/lib/javonet-ruby-sdk/sdk/internal/{abstract/abstract_runtime_factory.rb → abstract_runtime_factory.rb} +0 -0
@@ -1,6 +1,7 @@
1
1
  require_relative 'type_serializer'
2
2
  require_relative '../../utils/connection_type'
3
3
  require_relative '../../utils/runtime_name'
4
+ require_relative '../../utils/tcp_connection_data'
4
5
 
5
6
  class CommandSerializer
6
7
 
@@ -8,38 +9,21 @@ class CommandSerializer
8
9
  @byte_buffer = []
9
10
  end
10
11
 
11
- def serialize(root_command, connection_type = ConnectionType::IN_MEMORY, tcp_address = nil, runtime_version = 0)
12
+ def serialize(root_command, connection_type = ConnectionType::IN_MEMORY, tcp_connection_data = nil, runtime_version = 0)
12
13
  queue = []
13
14
  queue.unshift(root_command)
14
15
  self.insert_into_buffer([root_command.runtime_name, runtime_version])
15
- if connection_type == ConnectionType::TCP
16
- self.insert_into_buffer([ConnectionType::TCP])
17
- self.insert_into_buffer(self.serialize_tcp(tcp_address))
18
- end
19
- if connection_type == ConnectionType::IN_MEMORY
20
- self.insert_into_buffer([ConnectionType::IN_MEMORY])
21
- self.insert_into_buffer([0, 0, 0, 0, 0, 0])
22
- end
16
+ self.insert_into_buffer([connection_type])
17
+ self.insert_into_buffer(self.serialize_tcp(tcp_connection_data))
23
18
  self.insert_into_buffer([RuntimeName::RUBY, root_command.command_type])
24
19
  self.serialize_recursively(queue)
25
20
  end
26
21
 
27
- def serialize_tcp(tcp_address)
28
- if tcp_address.kind_of?(Array)
29
- tcp_address
30
- else
31
- tcp_address_array = tcp_address.split(':')
32
- tcp_address_ip = tcp_address_array[0].split('.')
33
- tcp_address_port = tcp_address_array[1]
34
- tcp_address_bytearray = []
35
- tcp_address_ip.each { |address|
36
- tcp_address_bytearray.concat([address.to_i])
37
- }
38
- port_byte = [tcp_address_port.to_i].pack("s_").bytes
39
- tcp_address_bytearray.concat(port_byte)
40
- tcp_address_bytearray
22
+ def serialize_tcp(tcp_connection_data)
23
+ if tcp_connection_data.nil?
24
+ return [0, 0, 0, 0, 0, 0]
41
25
  end
42
-
26
+ tcp_connection_data.get_address_bytes + tcp_connection_data.get_port_bytes
43
27
  end
44
28
 
45
29
  def serialize_primitive(payload_item)
@@ -4,10 +4,6 @@ require_relative 'transmitter_wrapper'
4
4
 
5
5
  class Transmitter
6
6
 
7
- def self.get_native_error
8
- TransmitterWrapper.GetNativeError
9
- end
10
-
11
7
  def self.send_command(message_byte_array, message_byte_array_len)
12
8
  message = FFI::MemoryPointer.new(:uchar, message_byte_array_len, true)
13
9
  message.put_array_of_uchar(0, message_byte_array)
@@ -26,26 +22,39 @@ class Transmitter
26
22
  end
27
23
  end
28
24
 
29
- def self.activate_with_licence_file()
25
+ def self.activate_with_license_file()
30
26
  return activate()
31
27
  end
32
28
 
33
- def self.activate_with_credentials(licenceKey)
34
- return activate(licenceKey)
29
+ def self.activate_with_credentials(licenseKey)
30
+ return activate(licenseKey)
35
31
  end
36
32
 
37
- def self.activate_with_credentials_and_proxy(licenceKey, proxyHost, proxyUserName, proxyPassword)
38
- return activate(licenceKey, proxyHost, proxyUserName, proxyPassword)
33
+ def self.activate_with_credentials_and_proxy(licenseKey, proxyHost, proxyUserName, proxyPassword)
34
+ return activate(licenseKey, proxyHost, proxyUserName, proxyPassword)
39
35
  end
40
36
 
41
- private_class_method def self.activate(licenceKey = "", proxyHost = "", proxyUserName = "", proxyUserPassword = "")
42
- activation_result = TransmitterWrapper.Activate(licenceKey, proxyHost, proxyUserName, proxyUserPassword)
37
+ private_class_method def self.activate(licenseKey = "", proxyHost = "", proxyUserName = "", proxyUserPassword = "")
38
+ activation_result = TransmitterWrapper.Activate(licenseKey, proxyHost, proxyUserName, proxyUserPassword)
43
39
  if activation_result < 0
44
40
  error_message = get_native_error
45
- raise Exception.new "Javonet activation result: " + activation_result.to_s + ". " + error_message
41
+ raise Exception.new "Javonet activation result: " + activation_result.to_s + ". Native error message: " + error_message
46
42
  else
47
43
  return activation_result
48
44
  end
49
45
  end
50
46
 
47
+ def self.get_native_error
48
+ TransmitterWrapper.GetNativeError
49
+ end
50
+
51
+ def self.set_config_source(configPath)
52
+ set_config_result = TransmitterWrapper.SetConfigSource(configPath)
53
+ if set_config_result < 0
54
+ error_message = get_native_error
55
+ raise Exception.new "Javonet set config source result: " + set_config_result.to_s + ". Native error message: " + error_message
56
+ else
57
+ return set_config_result
58
+ end
59
+ end
51
60
  end
@@ -12,5 +12,5 @@ module TransmitterWrapper
12
12
  attach_function :ReadResponse, [:pointer, :int], :int
13
13
  attach_function :Activate, [:pointer, :pointer, :pointer, :pointer], :int
14
14
  attach_function :GetNativeError, [], :string
15
-
15
+ attach_function :SetConfigSource, [:pointer], :int
16
16
  end
@@ -1,4 +1,5 @@
1
1
  require_relative 'runtime_name'
2
+ require_relative 'runtime_name_handler'
2
3
  require_relative 'command_type'
3
4
 
4
5
  class Command
@@ -57,7 +58,7 @@ class Command
57
58
  end
58
59
 
59
60
  def to_string
60
- 'Runtime Library: ' + RuntimeName.get_name(@runtime_name).to_s + ' ' + 'Ruby command type: ' + CommandType.get_name(@command_type).to_s + ' ' + 'with parameters: ' + @payload.to_s
61
+ 'Runtime Library: ' + RuntimeNameHandler.get_name(@runtime_name) + ' ' + 'Ruby command type: ' + CommandType.get_name(@command_type).to_s + ' ' + 'with parameters: ' + @payload.to_s
61
62
  end
62
63
 
63
64
  def eql?(other)
@@ -8,34 +8,4 @@ module RuntimeName
8
8
  RUBY = 6
9
9
  NODEJS = 7
10
10
  CPP = 8
11
-
12
- def self.get_name(runtime_number)
13
- if runtime_number == 0
14
- return 'CLR'
15
- end
16
- if runtime_number == 1
17
- return 'GO'
18
- end
19
- if runtime_number == 2
20
- return 'JVM'
21
- end
22
- if runtime_number == 3
23
- return 'NETCORE'
24
- end
25
- if runtime_number == 4
26
- return 'PERL'
27
- end
28
- if runtime_number == 5
29
- return 'PYTHON'
30
- end
31
- if runtime_number == 6
32
- return 'RUBY'
33
- end
34
- if runtime_number == 7
35
- return 'NODEJS'
36
- end
37
- if runtime_number == 8
38
- return 'CPP'
39
- end
40
- end
41
11
  end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+ require_relative './runtime_name'
3
+
4
+ class RuntimeNameHandler
5
+ def self.get_name(runtime_name)
6
+ if runtime_name == RuntimeName::CLR
7
+ return 'clr'
8
+ end
9
+ if runtime_name == RuntimeName::GO
10
+ return 'go'
11
+ end
12
+ if runtime_name == RuntimeName::JVM
13
+ return 'jvm'
14
+ end
15
+ if runtime_name == RuntimeName::NETCORE
16
+ return 'netcore'
17
+ end
18
+ if runtime_name == RuntimeName::PERL
19
+ return 'perl'
20
+ end
21
+ if runtime_name == RuntimeName::PYTHON
22
+ return 'python'
23
+ end
24
+ if runtime_name == RuntimeName::RUBY
25
+ return 'ruby'
26
+ end
27
+ if runtime_name == RuntimeName::NODEJS
28
+ return 'nodejs'
29
+ end
30
+ if runtime_name == RuntimeName::CPP
31
+ return 'cpp'
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,33 @@
1
+ class TcpConnectionData
2
+ attr_reader :ip_address, :port
3
+
4
+ def initialize(hostname, port)
5
+ @port = port
6
+ if hostname == "localhost"
7
+ @ip_address = "127.0.0.1"
8
+ else
9
+ begin
10
+ @ip_address = IPSocket.getaddress(hostname)
11
+ rescue SocketError
12
+ raise "Unable to resolve hostname to an IP address."
13
+ end
14
+ end
15
+ end
16
+
17
+ def ==(other)
18
+ other.is_a?(TcpConnectionData) && @ip_address == other.ip_address && @port == other.port
19
+ end
20
+
21
+ def to_s
22
+ "#{@ip_address}:#{@port}"
23
+
24
+ end
25
+
26
+ def get_address_bytes
27
+ @ip_address.split(".").map(&:to_i)
28
+ end
29
+
30
+ def get_port_bytes
31
+ [@port & 0xFF, @port >> 8]
32
+ end
33
+ end
@@ -1 +1 @@
1
- 2.2.0
1
+ 2.4.0
@@ -3,11 +3,11 @@ require_relative '../protocol/command_deserializer'
3
3
  require_relative '../handler/handler'
4
4
 
5
5
  class Interpreter
6
- def execute(command, connection_type, tcp_address)
6
+ def execute(command, connection_type, tcp_connection_data)
7
7
 
8
8
  command_serializer = CommandSerializer.new
9
- message_byte_array = command_serializer.serialize(command, connection_type, tcp_address)
10
- if command.runtime_name == RuntimeName::RUBY
9
+ message_byte_array = command_serializer.serialize(command, connection_type, tcp_connection_data)
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)
13
13
  else
@@ -16,8 +16,7 @@ class Interpreter
16
16
  end
17
17
 
18
18
  command_deserializer = CommandDeserializer.new(response_byte_array,response_byte_array.length)
19
- encoded_response = command_deserializer.deserialize
20
- return encoded_response
19
+ command_deserializer.deserialize
21
20
  end
22
21
 
23
22
  def process(byte_array, byte_array_len)
@@ -25,6 +24,6 @@ class Interpreter
25
24
  received_command = command_deserializer.deserialize
26
25
  handler = Handler.new
27
26
  command_serializer = CommandSerializer.new
28
- return command_serializer.serialize(handler.handle_command(received_command), 0, "0.0.0.0:0")
27
+ command_serializer.serialize(handler.handle_command(received_command))
29
28
  end
30
29
  end
@@ -1,6 +1,7 @@
1
1
  require_relative 'type_serializer'
2
2
  require_relative '../../utils/connection_type'
3
3
  require_relative '../../utils/runtime_name'
4
+ require_relative '../../utils/tcp_connection_data'
4
5
 
5
6
  class CommandSerializer
6
7
 
@@ -8,38 +9,21 @@ class CommandSerializer
8
9
  @byte_buffer = []
9
10
  end
10
11
 
11
- def serialize(root_command, connection_type = ConnectionType::IN_MEMORY, tcp_address = nil, runtime_version = 0)
12
+ def serialize(root_command, connection_type = ConnectionType::IN_MEMORY, tcp_connection_data = nil, runtime_version = 0)
12
13
  queue = []
13
14
  queue.unshift(root_command)
14
15
  self.insert_into_buffer([root_command.runtime_name, runtime_version])
15
- if connection_type == ConnectionType::TCP
16
- self.insert_into_buffer([ConnectionType::TCP])
17
- self.insert_into_buffer(self.serialize_tcp(tcp_address))
18
- end
19
- if connection_type == ConnectionType::IN_MEMORY
20
- self.insert_into_buffer([ConnectionType::IN_MEMORY])
21
- self.insert_into_buffer([0, 0, 0, 0, 0, 0])
22
- end
16
+ self.insert_into_buffer([connection_type])
17
+ self.insert_into_buffer(self.serialize_tcp(tcp_connection_data))
23
18
  self.insert_into_buffer([RuntimeName::RUBY, root_command.command_type])
24
19
  self.serialize_recursively(queue)
25
20
  end
26
21
 
27
- def serialize_tcp(tcp_address)
28
- if tcp_address.kind_of?(Array)
29
- tcp_address
30
- else
31
- tcp_address_array = tcp_address.split(':')
32
- tcp_address_ip = tcp_address_array[0].split('.')
33
- tcp_address_port = tcp_address_array[1]
34
- tcp_address_bytearray = []
35
- tcp_address_ip.each { |address|
36
- tcp_address_bytearray.concat([address.to_i])
37
- }
38
- port_byte = [tcp_address_port.to_i].pack("s_").bytes
39
- tcp_address_bytearray.concat(port_byte)
40
- tcp_address_bytearray
22
+ def serialize_tcp(tcp_connection_data)
23
+ if tcp_connection_data.nil?
24
+ return [0, 0, 0, 0, 0, 0]
41
25
  end
42
-
26
+ tcp_connection_data.get_address_bytes + tcp_connection_data.get_port_bytes
43
27
  end
44
28
 
45
29
  def serialize_primitive(payload_item)
@@ -4,10 +4,6 @@ require_relative 'transmitter_wrapper'
4
4
 
5
5
  class Transmitter
6
6
 
7
- def self.get_native_error
8
- TransmitterWrapper.GetNativeError
9
- end
10
-
11
7
  def self.send_command(message_byte_array, message_byte_array_len)
12
8
  message = FFI::MemoryPointer.new(:uchar, message_byte_array_len, true)
13
9
  message.put_array_of_uchar(0, message_byte_array)
@@ -26,26 +22,39 @@ class Transmitter
26
22
  end
27
23
  end
28
24
 
29
- def self.activate_with_licence_file()
25
+ def self.activate_with_license_file()
30
26
  return activate()
31
27
  end
32
28
 
33
- def self.activate_with_credentials(licenceKey)
34
- return activate(licenceKey)
29
+ def self.activate_with_credentials(licenseKey)
30
+ return activate(licenseKey)
35
31
  end
36
32
 
37
- def self.activate_with_credentials_and_proxy(licenceKey, proxyHost, proxyUserName, proxyPassword)
38
- return activate(licenceKey, proxyHost, proxyUserName, proxyPassword)
33
+ def self.activate_with_credentials_and_proxy(licenseKey, proxyHost, proxyUserName, proxyPassword)
34
+ return activate(licenseKey, proxyHost, proxyUserName, proxyPassword)
39
35
  end
40
36
 
41
- private_class_method def self.activate(licenceKey = "", proxyHost = "", proxyUserName = "", proxyUserPassword = "")
42
- activation_result = TransmitterWrapper.Activate(licenceKey, proxyHost, proxyUserName, proxyUserPassword)
37
+ private_class_method def self.activate(licenseKey = "", proxyHost = "", proxyUserName = "", proxyUserPassword = "")
38
+ activation_result = TransmitterWrapper.Activate(licenseKey, proxyHost, proxyUserName, proxyUserPassword)
43
39
  if activation_result < 0
44
40
  error_message = get_native_error
45
- raise Exception.new "Javonet activation result: " + activation_result.to_s + ". " + error_message
41
+ raise Exception.new "Javonet activation result: " + activation_result.to_s + ". Native error message: " + error_message
46
42
  else
47
43
  return activation_result
48
44
  end
49
45
  end
50
46
 
47
+ def self.get_native_error
48
+ TransmitterWrapper.GetNativeError
49
+ end
50
+
51
+ def self.set_config_source(configPath)
52
+ set_config_result = TransmitterWrapper.SetConfigSource(configPath)
53
+ if set_config_result < 0
54
+ error_message = get_native_error
55
+ raise Exception.new "Javonet set config source result: " + set_config_result.to_s + ". Native error message: " + error_message
56
+ else
57
+ return set_config_result
58
+ end
59
+ end
51
60
  end
@@ -12,5 +12,5 @@ module TransmitterWrapper
12
12
  attach_function :ReadResponse, [:pointer, :int], :int
13
13
  attach_function :Activate, [:pointer, :pointer, :pointer, :pointer], :int
14
14
  attach_function :GetNativeError, [], :string
15
-
15
+ attach_function :SetConfigSource, [:pointer], :int
16
16
  end
@@ -0,0 +1,92 @@
1
+ require_relative './internal/abstract_config_runtime_factory'
2
+ require_relative './runtime_context'
3
+ require_relative './../utils/connection_type'
4
+ require_relative './tools/json_file_resolver'
5
+
6
+ # The ConfigRuntimeFactory class implements the AbstractConfigRuntimeFactory interface and provides methods for creating runtime contexts.
7
+ # Each method corresponds to a specific runtime (CLR, JVM, .NET Core, Perl, Ruby, Node.js, Python) and returns a RuntimeContext instance for that runtime.
8
+ # # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
9
+ class ConfigRuntimeFactory < AbstractConfigRuntimeFactory
10
+
11
+ def initialize(path)
12
+ @path = path
13
+ end
14
+
15
+ # Creates a RuntimeContext instance to interact with CLR runtime.
16
+ # @param config_name [String] The name of the configuration to use.
17
+ # @return [RuntimeContext] a RuntimeContext instance for the CLR runtime
18
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
19
+ def clr(config_name = "default")
20
+ get_runtime_context(RuntimeName::CLR, config_name)
21
+ end
22
+
23
+ # Creates a RuntimeContext instance to interact with JVM runtime.
24
+ # @param config_name [String] The name of the configuration to use.
25
+ # @return [RuntimeContext] a RuntimeContext instance for the JVM runtime
26
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
27
+ def jvm(config_name = "default")
28
+ get_runtime_context(RuntimeName::JVM, config_name)
29
+ end
30
+
31
+ # Creates a RuntimeContext instance to interact with .NET runtime.
32
+ # @param config_name [String] The name of the configuration to use.
33
+ # @return [RuntimeContext] a RuntimeContext instance for the .NET runtime
34
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
35
+ def netcore(config_name = "default")
36
+ get_runtime_context(RuntimeName::NETCORE, config_name)
37
+ end
38
+
39
+ # Creates a RuntimeContext instance to interact with Perl runtime.
40
+ # @param config_name [String] The name of the configuration to use.
41
+ # @return [RuntimeContext] a RuntimeContext instance for the Perl runtime
42
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
43
+ def perl(config_name = "default")
44
+ get_runtime_context(RuntimeName::PERL, config_name)
45
+ end
46
+
47
+ # Creates a RuntimeContext instance to interact with Ruby runtime.
48
+ # @param config_name [String] The name of the configuration to use.
49
+ # @return [RuntimeContext] a RuntimeContext instance for the Ruby runtime
50
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
51
+ def ruby(config_name = "default")
52
+ get_runtime_context(RuntimeName::RUBY, config_name)
53
+ end
54
+
55
+ # Creates a RuntimeContext instance to interact with Node.js runtime.
56
+ # @param config_name [String] The name of the configuration to use.
57
+ # @return [RuntimeContext] a RuntimeContext instance for the Node.js runtime
58
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
59
+ def nodejs(config_name = "default")
60
+ get_runtime_context(RuntimeName::NODEJS, config_name)
61
+ end
62
+
63
+ # Creates a RuntimeContext instance to interact with Python runtime.
64
+ # @param config_name [String] The name of the configuration to use.
65
+ # @return [RuntimeContext] a RuntimeContext instance for the Python runtime
66
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
67
+ def python(config_name = "default")
68
+ get_runtime_context(RuntimeName::PYTHON, config_name)
69
+ end
70
+
71
+ def get_runtime_context(runtime, config_name)
72
+ jfr = JsonFileResolver.new(@path)
73
+
74
+ begin
75
+ license_key = jfr.get_license_key
76
+ Transmitter.activate_with_credentials(license_key)
77
+ rescue
78
+ # licenseKey not found - do nothing
79
+ end
80
+
81
+ conn_type = jfr.get_channel_type(RuntimeNameHandler.get_name(runtime), config_name)
82
+ if conn_type == "tcp"
83
+ conn_data = TcpConnectionData.new(jfr.get_channel_host(RuntimeNameHandler.get_name(runtime), config_name),
84
+ jfr.get_channel_port(RuntimeNameHandler.get_name(runtime), config_name))
85
+ return RuntimeContext.get_instance(runtime, ConnectionType::TCP, conn_data)
86
+ elsif conn_type == "inMemory"
87
+ return RuntimeContext.get_instance(runtime, ConnectionType::IN_MEMORY, nil)
88
+ else
89
+ raise "Invalid connection type"
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,30 @@
1
+ class AbstractConfigRuntimeFactory
2
+ def clr(config_name = "default")
3
+ raise NotImplementedError, "method not implemented"
4
+ end
5
+
6
+ def jvm(config_name = "default")
7
+ raise NotImplementedError, "method not implemented"
8
+ end
9
+
10
+ def netcore(config_name = "default")
11
+ raise NotImplementedError, "method not implemented"
12
+ end
13
+
14
+ def perl(config_name = "default")
15
+ raise NotImplementedError, "method not implemented"
16
+ end
17
+
18
+ def ruby(config_name = "default")
19
+ raise NotImplementedError, "method not implemented"
20
+ end
21
+
22
+ def nodejs(config_name = "default")
23
+ raise NotImplementedError, "method not implemented"
24
+ end
25
+
26
+ def python(config_name = "default")
27
+ raise NotImplementedError, "method not implemented"
28
+ end
29
+
30
+ end
@@ -1,7 +1,7 @@
1
- require_relative 'abstract/abstract_invocation_context'
2
- require_relative '../../core/interpreter/interpreter'
3
- require_relative '../../core/exceptions/exception_thrower'
4
- require_relative 'invocation_context_iterator'
1
+ require_relative 'internal/abstract_invocation_context'
2
+ require_relative 'internal/invocation_context_iterator'
3
+ require_relative '../core/interpreter/interpreter'
4
+ require_relative '../core/exceptions/exception_thrower'
5
5
 
6
6
  # InvocationContext is a class that represents a context for invoking commands.
7
7
  # It implements several interfaces for different types of interactions.
@@ -18,8 +18,8 @@ class InvocationContext < AbstractInvocationContext
18
18
  @current_command = command
19
19
  @response_command = nil
20
20
  @interpreter = Interpreter.new
21
- # generates error: ruby/lib/javonet-ruby-sdk/sdk/internal/invocation_context.rb:17: warning: finalizer references object to be finalized
22
- #ObjectSpace.define_finalizer(self, self.finalize(@current_command, @is_executed, @interpreter, @connection_type, @tcp_ip_address))
21
+ # generates error: ruby/lib/javonet.rb-ruby-sdk/sdk/internal/invocation_context.rb:17: warning: finalizer references object to be finalized
22
+ # ObjectSpace.define_finalizer(self, self.finalize(@current_command, @is_executed, @interpreter, @connection_type, @tcp_ip_address))
23
23
  end
24
24
 
25
25
  def finalize(command, is_executed, interpreter, connection_type, tcp_ip_address)
@@ -0,0 +1,53 @@
1
+ require_relative './runtime_factory'
2
+ require_relative './config_runtime_factory'
3
+ require_relative './../utils/connection_type'
4
+ require_relative './../utils/tcp_connection_data'
5
+ require_relative './../core/transmitter/transmitter'
6
+
7
+ # The Javonet class is a singleton class that serves as the entry point for interacting with Javonet.
8
+ # It provides methods to activate and initialize the Javonet SDK.
9
+ # It supports both in-memory and TCP connections.
10
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/javonet-static-class article on Javonet Guides}
11
+ class Javonet
12
+
13
+ Transmitter.activate_with_license_file
14
+
15
+ # Initializes Javonet using an in-memory channel on the same machine.
16
+ # @return [RuntimeFactory] A RuntimeFactory instance configured for an in-memory connection.
17
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/in-memory-channel article on Javonet Guides}
18
+ def self.in_memory
19
+ RuntimeFactory.new(ConnectionType::IN_MEMORY, nil)
20
+ end
21
+
22
+ # Initializes Javonet with a TCP connection to a remote machine.
23
+ # @param address [TcpConnectionData] The address of the remote machine.
24
+ # @return [RuntimeFactory] A RuntimeFactory instance configured for a TCP connection.
25
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/tcp-channel article on Javonet Guides}
26
+ def self.tcp(tcp_connection_data)
27
+ RuntimeFactory.new(ConnectionType::TCP, tcp_connection_data)
28
+ end
29
+
30
+ # Initializes Javonet with a custom configuration file.
31
+ # @param path [String] Path to a configuration file.
32
+ # @return [ConfigRuntimeFactory] A ConfigRuntimeFactory instance configured with configuration data
33
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/configure-channel article on Javonet Guides}
34
+ def self.with_config(path)
35
+ Transmitter.set_config_source(path)
36
+ ConfigRuntimeFactory.new(path)
37
+ end
38
+
39
+ # Activates Javonet with the provided license key and optionally with proxy data.
40
+ # @param license_key [String] The license key to activate Javonet.
41
+ # @param proxy_host [String] The host for the proxy server (optional).
42
+ # @param proxy_user_name [String] The username for the proxy server (optional).
43
+ # @param proxy_user_password [String] The password for the proxy server (optional).
44
+ # @return [Integer] The activation status code.
45
+ # @see https://www.javonet.com/guides/v2/ruby/getting-started/activating-javonet Activating Javonet Guide
46
+ def self.activate(license_key, proxy_host=nil, proxy_user_name=nil, proxy_password=nil)
47
+ proxy_host ||= ""
48
+ proxy_user_name ||= ""
49
+ proxy_password ||= ""
50
+ return Transmitter.activate_with_credentials_and_proxy(license_key, proxy_host, proxy_user_name, proxy_password)
51
+ end
52
+
53
+ end