javonet-ruby-sdk 2.2.0 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -0,0 +1,26 @@
1
+ from javonet.utils.RuntimeName import RuntimeName
2
+
3
+
4
+ class RuntimeNameHandler:
5
+
6
+ @staticmethod
7
+ def get_name(runtime_name):
8
+ if isinstance(runtime_name, RuntimeName):
9
+ if runtime_name == RuntimeName.clr:
10
+ return "clr"
11
+ elif runtime_name == RuntimeName.go:
12
+ return "go"
13
+ elif runtime_name == RuntimeName.jvm:
14
+ return "jvm"
15
+ elif runtime_name == RuntimeName.netcore:
16
+ return "netcore"
17
+ elif runtime_name == RuntimeName.perl:
18
+ return "perl"
19
+ elif runtime_name == RuntimeName.python:
20
+ return "python"
21
+ elif runtime_name == RuntimeName.ruby:
22
+ return "ruby"
23
+ elif runtime_name == RuntimeName.nodejs:
24
+ return "nodejs"
25
+ else:
26
+ raise Exception("Invalid runtime name.")
@@ -0,0 +1,29 @@
1
+ import socket
2
+ import hashlib
3
+
4
+
5
+ class TcpConnectionData:
6
+ def __init__(self, hostname, port):
7
+ self.port = port
8
+ if hostname == "localhost":
9
+ self.ip_address = "127.0.0.1"
10
+ else:
11
+ try:
12
+ self.ip_address = socket.gethostbyname(hostname)
13
+ except socket.gaierror:
14
+ raise ValueError("Unable to resolve hostname to an IP address.")
15
+
16
+ def __eq__(self, other):
17
+ if isinstance(other, TcpConnectionData):
18
+ return self.ip_address == other.ip_address and self.port == other.port
19
+ return False
20
+
21
+ def __hash__(self):
22
+ return int(hashlib.sha1(f"{self.ip_address}{self.port}".encode()).hexdigest(), 16)
23
+
24
+ def get_address_bytes(self):
25
+ return [int(x) for x in self.ip_address.split(".")]
26
+
27
+ def get_pot_bytes(self):
28
+ return [self.port & 0xFF, self.port >> 8]
29
+
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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