javonet-ruby-sdk 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +145 -79
  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 +141 -75
  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 +16 -16
  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
@@ -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