javonet-ruby-sdk 2.3.0 → 2.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (240) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/Javonet.Clr.Utils.dll +0 -0
  4. data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/JavonetClrRuntime.dll +0 -0
  5. data/lib/javonet-ruby-sdk/Binaries/Jvm/Linux/X64/JavonetJvmRuntime.jar +0 -0
  6. data/lib/javonet-ruby-sdk/Binaries/Jvm/MacOs/X64/JavonetJvmRuntime.jar +0 -0
  7. data/lib/javonet-ruby-sdk/Binaries/Jvm/Windows/X64/JavonetJvmRuntime.jar +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  10. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  12. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  15. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
  20. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
  21. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  23. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  30. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
  32. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  37. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs1816RuntimeNative.dll +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  41. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  42. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  43. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
  45. data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Core.dll +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Utils.dll +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Core.dll +0 -0
  48. data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Utils.dll +0 -0
  49. data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Core.dll +0 -0
  50. data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Utils.dll +0 -0
  51. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/interpreter/Interpreter.js +3 -2
  52. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/CommandSerializer.js +21 -23
  53. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/transmitter/Transmitter.js +11 -7
  54. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/transmitter/TransmitterWrapper.js +6 -2
  55. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/utils/RuntimeNameHandler.js +30 -0
  56. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/utils/TcpConnectionData.js +43 -6
  57. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/interpreter/Interpreter.js +3 -2
  58. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/CommandSerializer.js +21 -23
  59. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/transmitter/Transmitter.js +11 -7
  60. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/transmitter/TransmitterWrapper.js +6 -2
  61. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/utils/RuntimeNameHandler.js +30 -0
  62. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/utils/TcpConnectionData.js +43 -6
  63. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/interpreter/Interpreter.js +3 -2
  64. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/CommandSerializer.js +21 -23
  65. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/transmitter/Transmitter.js +11 -7
  66. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/transmitter/TransmitterWrapper.js +6 -2
  67. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/utils/RuntimeNameHandler.js +30 -0
  68. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/utils/TcpConnectionData.js +43 -6
  69. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Meta/Requirements/Range.pm +776 -0
  70. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Meta/Requirements.pm +834 -0
  71. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Requirements/Dynamic.pm +384 -0
  72. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Config/MakeMaker.pm +141 -0
  73. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Config.pm +43 -5
  74. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/HasCompiler.pm +308 -0
  75. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/InstallPaths.pm +3 -3
  76. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Tiny.pm +26 -9
  77. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Path/Tiny.pm +10 -3
  78. 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
  79. 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
  80. 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
  81. 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
  82. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  83. 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
  84. 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
  85. 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
  86. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  87. 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
  88. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +149 -83
  89. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +15 -10
  90. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +34 -19
  91. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Javonet.pm +17 -9
  92. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/ConnectionType.pm +2 -1
  93. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +31 -9
  94. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +18 -10
  95. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Meta/Requirements/Range.pm +776 -0
  96. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Meta/Requirements.pm +834 -0
  97. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Requirements/Dynamic.pm +384 -0
  98. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/Config/MakeMaker.pm +141 -0
  99. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/Config.pm +43 -5
  100. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/HasCompiler.pm +308 -0
  101. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/InstallPaths.pm +3 -3
  102. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Module/Build/Tiny.pm +26 -9
  103. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Path/Tiny.pm +10 -3
  104. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/perllocal.pod +149 -83
  105. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +15 -10
  106. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +34 -19
  107. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Javonet.pm +17 -9
  108. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/ConnectionType.pm +2 -1
  109. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +31 -9
  110. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +18 -10
  111. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  112. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  113. 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
  114. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  115. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  116. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +18 -18
  117. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +15 -10
  118. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +34 -19
  119. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Javonet.pm +17 -9
  120. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/ConnectionType.pm +2 -1
  121. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +31 -9
  122. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +18 -10
  123. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/interpreter/Interpreter.py +7 -5
  124. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/CommandSerializer.py +8 -15
  125. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/transmitter/Transmitter.py +28 -0
  126. data/lib/javonet-ruby-sdk/Binaries/Python/{Windows/X64/javonet/core/transmitter/PythonTransmitterWrapper.py → Linux/X64/javonet/core/transmitter/TransmitterWrapper.py} +86 -69
  127. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/RuntimeNameHandler.py +26 -0
  128. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/TcpConnectionData.py +29 -0
  129. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/interpreter/Interpreter.py +7 -5
  130. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/CommandSerializer.py +8 -15
  131. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/transmitter/Transmitter.py +28 -0
  132. data/lib/javonet-ruby-sdk/Binaries/Python/{Linux/X64/javonet/core/transmitter/PythonTransmitterWrapper.py → MacOs/X64/javonet/core/transmitter/TransmitterWrapper.py} +27 -10
  133. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/RuntimeNameHandler.py +26 -0
  134. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/TcpConnectionData.py +29 -0
  135. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/__pycache__/__init__.cpython-311.pyc +0 -0
  136. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/__pycache__/__init__.cpython-311.pyc +0 -0
  137. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-311.pyc +0 -0
  138. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/__init__.cpython-311.pyc +0 -0
  139. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/AbstractCommandHandler.cpython-311.pyc +0 -0
  140. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetItemHandler.cpython-311.pyc +0 -0
  141. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetRankHandler.cpython-311.pyc +0 -0
  142. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetSizeHandler.cpython-311.pyc +0 -0
  143. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayHandler.cpython-311.pyc +0 -0
  144. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArraySetItemHandler.cpython-311.pyc +0 -0
  145. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CastingHandler.cpython-311.pyc +0 -0
  146. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CreateClassInstanceHandler.cpython-311.pyc +0 -0
  147. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/DestructReferenceHandler.cpython-311.pyc +0 -0
  148. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumItemHandler.cpython-311.pyc +0 -0
  149. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumNameHandler.cpython-311.pyc +0 -0
  150. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumValueHandler.cpython-311.pyc +0 -0
  151. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetInstanceFieldHandler.cpython-311.pyc +0 -0
  152. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetStaticFieldHandler.cpython-311.pyc +0 -0
  153. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetTypeHandler.cpython-311.pyc +0 -0
  154. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeInstanceMethodHandler.cpython-311.pyc +0 -0
  155. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeStaticMethodHandler.cpython-311.pyc +0 -0
  156. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/LoadLibraryHandler.cpython-311.pyc +0 -0
  157. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ResolveInstanceHandler.cpython-311.pyc +0 -0
  158. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetInstanceFieldHandler.cpython-311.pyc +0 -0
  159. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetStaticFieldHandler.cpython-311.pyc +0 -0
  160. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ValueHandler.cpython-311.pyc +0 -0
  161. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/__init__.cpython-311.pyc +0 -0
  162. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/AbstractHandler.cpython-311.pyc +0 -0
  163. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/Handler.cpython-311.pyc +0 -0
  164. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/HandlerDictionary.cpython-311.pyc +0 -0
  165. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ReferencesCache.cpython-311.pyc +0 -0
  166. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/__init__.cpython-311.pyc +0 -0
  167. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/Interpreter.py +7 -5
  168. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/Interpreter.cpython-311.pyc +0 -0
  169. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/__init__.cpython-311.pyc +0 -0
  170. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/CommandSerializer.py +8 -15
  171. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-311.pyc +0 -0
  172. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandSerializer.cpython-311.pyc +0 -0
  173. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-311.pyc +0 -0
  174. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeSerializer.cpython-311.pyc +0 -0
  175. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/__init__.cpython-311.pyc +0 -0
  176. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/Receiver.cpython-311.pyc +0 -0
  177. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/__init__.cpython-311.pyc +0 -0
  178. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/transmitter/Transmitter.py +28 -0
  179. data/lib/javonet-ruby-sdk/Binaries/Python/{MacOs/X64/javonet/core/transmitter/PythonTransmitterWrapper.py → Windows/X64/javonet/core/transmitter/TransmitterWrapper.py} +86 -69
  180. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/RuntimeNameHandler.py +26 -0
  181. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/TcpConnectionData.py +29 -0
  182. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Command.cpython-311.pyc +0 -0
  183. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/CommandType.cpython-311.pyc +0 -0
  184. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ConnectionType.cpython-311.pyc +0 -0
  185. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ExceptionType.cpython-311.pyc +0 -0
  186. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/RuntimeName.cpython-311.pyc +0 -0
  187. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/StringEncodingMode.cpython-311.pyc +0 -0
  188. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/TcpConnectionData.cpython-311.pyc +0 -0
  189. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Type.cpython-311.pyc +0 -0
  190. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  191. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-311.pyc +0 -0
  192. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/__init__.cpython-311.pyc +0 -0
  193. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/interpreter/interpreter.rb +5 -6
  194. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_serializer.rb +8 -24
  195. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/transmitter/transmitter.rb +21 -12
  196. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/transmitter/transmitter_wrapper.rb +1 -1
  197. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/command.rb +2 -1
  198. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/runtime_name.rb +0 -30
  199. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/runtime_name_handler.rb +34 -0
  200. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/tcp_connection_data.rb +33 -0
  201. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/interpreter/interpreter.rb +5 -6
  202. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_serializer.rb +8 -24
  203. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter.rb +21 -12
  204. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter_wrapper.rb +1 -1
  205. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/command.rb +2 -1
  206. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/runtime_name.rb +0 -30
  207. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/runtime_name_handler.rb +34 -0
  208. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/tcp_connection_data.rb +33 -0
  209. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/interpreter/interpreter.rb +5 -6
  210. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_serializer.rb +8 -24
  211. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/transmitter/transmitter.rb +21 -12
  212. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/transmitter/transmitter_wrapper.rb +1 -1
  213. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/command.rb +2 -1
  214. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/runtime_name.rb +0 -30
  215. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/runtime_name_handler.rb +34 -0
  216. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/tcp_connection_data.rb +33 -0
  217. data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
  218. data/lib/javonet-ruby-sdk/core/interpreter/interpreter.rb +5 -6
  219. data/lib/javonet-ruby-sdk/core/protocol/command_serializer.rb +8 -24
  220. data/lib/javonet-ruby-sdk/core/transmitter/transmitter.rb +21 -12
  221. data/lib/javonet-ruby-sdk/core/transmitter/transmitter_wrapper.rb +1 -1
  222. data/lib/javonet-ruby-sdk/sdk/config_runtime_factory.rb +92 -0
  223. data/lib/javonet-ruby-sdk/sdk/internal/abstract_config_runtime_factory.rb +30 -0
  224. data/lib/javonet-ruby-sdk/sdk/{internal/invocation_context.rb → invocation_context.rb} +6 -6
  225. data/lib/javonet-ruby-sdk/sdk/javonet.rb +53 -0
  226. data/lib/javonet-ruby-sdk/sdk/{internal/runtime_context.rb → runtime_context.rb} +35 -35
  227. data/lib/javonet-ruby-sdk/sdk/{internal/runtime_factory.rb → runtime_factory.rb} +13 -18
  228. data/lib/javonet-ruby-sdk/sdk/tools/json_file_resolver.rb +55 -0
  229. data/lib/javonet-ruby-sdk/utils/command.rb +2 -1
  230. data/lib/javonet-ruby-sdk/utils/runtime_name.rb +0 -30
  231. data/lib/javonet-ruby-sdk/utils/runtime_name_handler.rb +34 -0
  232. data/lib/javonet-ruby-sdk/utils/tcp_connection_data.rb +33 -0
  233. data/lib/javonet-ruby-sdk.rb +1 -42
  234. metadata +49 -14
  235. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/transmitter/PythonTransmitter.py +0 -24
  236. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/transmitter/PythonTransmitter.py +0 -24
  237. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/transmitter/PythonTransmitter.py +0 -24
  238. /data/lib/javonet-ruby-sdk/sdk/internal/{abstract/abstract_invocation_context.rb → abstract_invocation_context.rb} +0 -0
  239. /data/lib/javonet-ruby-sdk/sdk/internal/{abstract/abstract_runtime_context.rb → abstract_runtime_context.rb} +0 -0
  240. /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.3.0
1
+ 2.4.1
@@ -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