javonet-ruby-sdk 2.2.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/javonet-ruby-sdk.gemspec +3 -3
- data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/Javonet.Clr.Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/JavonetClrRuntime.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Jvm/Linux/X64/JavonetJvmRuntime.jar +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Jvm/MacOs/X64/JavonetJvmRuntime.jar +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Jvm/Windows/X64/JavonetJvmRuntime.jar +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs1816RuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libcrypto-3-x64.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libssl-3-x64.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Core.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Core.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Core.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/interpreter/Interpreter.js +3 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/CommandSerializer.js +21 -23
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/transmitter/Transmitter.js +11 -7
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/transmitter/TransmitterWrapper.js +6 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/utils/RuntimeNameHandler.js +30 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/utils/TcpConnectionData.js +43 -6
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/interpreter/Interpreter.js +3 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/CommandSerializer.js +21 -23
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/transmitter/Transmitter.js +11 -7
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/transmitter/TransmitterWrapper.js +6 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/utils/RuntimeNameHandler.js +30 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/utils/TcpConnectionData.js +43 -6
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/interpreter/Interpreter.js +3 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/CommandSerializer.js +21 -23
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/transmitter/Transmitter.js +11 -7
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/transmitter/TransmitterWrapper.js +6 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/utils/RuntimeNameHandler.js +30 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/utils/TcpConnectionData.js +43 -6
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Meta/Requirements/Range.pm +776 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Meta/Requirements.pm +834 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Requirements/Dynamic.pm +384 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Config/MakeMaker.pm +141 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Config.pm +43 -5
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/HasCompiler.pm +308 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/InstallPaths.pm +3 -3
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Tiny.pm +26 -9
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Nice/Try.pm +7 -7
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Path/Tiny.pm +10 -3
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Data/UUID.pm +2 -2
- 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
- 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
- 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
- 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
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
- 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
- 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
- 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
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
- 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
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +145 -79
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +15 -10
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +34 -19
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Javonet.pm +17 -9
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/ConnectionType.pm +2 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +31 -9
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +18 -10
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Meta/Requirements/Range.pm +776 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Meta/Requirements.pm +834 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Requirements/Dynamic.pm +384 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/Config/MakeMaker.pm +141 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/Config.pm +43 -5
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/HasCompiler.pm +308 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/InstallPaths.pm +3 -3
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Module/Build/Tiny.pm +26 -9
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Nice/Try.pm +7 -7
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Path/Tiny.pm +10 -3
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/Data/UUID.pm +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Data/UUID/UUID.bundle +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/perllocal.pod +148 -82
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +15 -10
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +34 -19
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Javonet.pm +17 -9
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/ConnectionType.pm +2 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +31 -9
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +18 -10
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/Data/UUID.pm +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
- 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
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +17 -17
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/Nice/Try.pm +7 -7
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +15 -10
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +34 -19
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Javonet.pm +17 -9
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/ConnectionType.pm +2 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +31 -9
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +18 -10
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/interpreter/Interpreter.py +7 -5
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/CommandSerializer.py +8 -15
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/transmitter/Transmitter.py +28 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/{MacOs/X64/javonet/core/transmitter/PythonTransmitterWrapper.py → Linux/X64/javonet/core/transmitter/TransmitterWrapper.py} +27 -10
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/RuntimeNameHandler.py +26 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/TcpConnectionData.py +29 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/interpreter/Interpreter.py +7 -5
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/CommandSerializer.py +8 -15
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/transmitter/Transmitter.py +28 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/{Windows/X64/javonet/core/transmitter/PythonTransmitterWrapper.py → MacOs/X64/javonet/core/transmitter/TransmitterWrapper.py} +86 -69
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/RuntimeNameHandler.py +26 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/TcpConnectionData.py +29 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/AbstractCommandHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetItemHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetRankHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetSizeHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArraySetItemHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CastingHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CreateClassInstanceHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/DestructReferenceHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumItemHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumNameHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumValueHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetInstanceFieldHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetStaticFieldHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetTypeHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeInstanceMethodHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeStaticMethodHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/LoadLibraryHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ResolveInstanceHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetInstanceFieldHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetStaticFieldHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ValueHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/AbstractHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/Handler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/HandlerDictionary.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ReferencesCache.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/Interpreter.py +7 -5
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/Interpreter.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/CommandSerializer.py +8 -15
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandSerializer.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeSerializer.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/Receiver.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/transmitter/Transmitter.py +28 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/{Linux/X64/javonet/core/transmitter/PythonTransmitterWrapper.py → Windows/X64/javonet/core/transmitter/TransmitterWrapper.py} +86 -69
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/RuntimeNameHandler.py +26 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/TcpConnectionData.py +29 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Command.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/CommandType.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ConnectionType.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ExceptionType.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/RuntimeName.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/StringEncodingMode.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/TcpConnectionData.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Type.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/interpreter/interpreter.rb +5 -6
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_serializer.rb +8 -24
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/transmitter/transmitter.rb +21 -12
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/transmitter/transmitter_wrapper.rb +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/command.rb +2 -1
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/runtime_name.rb +0 -30
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/runtime_name_handler.rb +34 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/tcp_connection_data.rb +33 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/interpreter/interpreter.rb +5 -6
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_serializer.rb +8 -24
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter.rb +21 -12
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter_wrapper.rb +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/command.rb +2 -1
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/runtime_name.rb +0 -30
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/runtime_name_handler.rb +34 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/tcp_connection_data.rb +33 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/interpreter/interpreter.rb +5 -6
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_serializer.rb +8 -24
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/transmitter/transmitter.rb +21 -12
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/transmitter/transmitter_wrapper.rb +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/command.rb +2 -1
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/runtime_name.rb +0 -30
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/runtime_name_handler.rb +34 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/tcp_connection_data.rb +33 -0
- data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
- data/lib/javonet-ruby-sdk/core/interpreter/interpreter.rb +5 -6
- data/lib/javonet-ruby-sdk/core/protocol/command_serializer.rb +8 -24
- data/lib/javonet-ruby-sdk/core/transmitter/transmitter.rb +21 -12
- data/lib/javonet-ruby-sdk/core/transmitter/transmitter_wrapper.rb +1 -1
- data/lib/javonet-ruby-sdk/sdk/config_runtime_factory.rb +92 -0
- data/lib/javonet-ruby-sdk/sdk/internal/abstract_config_runtime_factory.rb +30 -0
- data/lib/javonet-ruby-sdk/sdk/{internal/invocation_context.rb → invocation_context.rb} +6 -6
- data/lib/javonet-ruby-sdk/sdk/javonet.rb +53 -0
- data/lib/javonet-ruby-sdk/sdk/{internal/runtime_context.rb → runtime_context.rb} +35 -35
- data/lib/javonet-ruby-sdk/sdk/{internal/runtime_factory.rb → runtime_factory.rb} +13 -18
- data/lib/javonet-ruby-sdk/sdk/tools/json_file_resolver.rb +55 -0
- data/lib/javonet-ruby-sdk/utils/command.rb +2 -1
- data/lib/javonet-ruby-sdk/utils/runtime_name.rb +0 -30
- data/lib/javonet-ruby-sdk/utils/runtime_name_handler.rb +34 -0
- data/lib/javonet-ruby-sdk/utils/tcp_connection_data.rb +33 -0
- data/lib/javonet-ruby-sdk.rb +1 -42
- metadata +63 -17
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libxmlsec1-openssl.so.1.2.34 +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libxmlsec1.so.1.2.34 +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/transmitter/PythonTransmitter.py +0 -24
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/transmitter/PythonTransmitter.py +0 -24
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/transmitter/PythonTransmitter.py +0 -24
- /data/lib/javonet-ruby-sdk/sdk/internal/{abstract/abstract_invocation_context.rb → abstract_invocation_context.rb} +0 -0
- /data/lib/javonet-ruby-sdk/sdk/internal/{abstract/abstract_runtime_context.rb → abstract_runtime_context.rb} +0 -0
- /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,
|
|
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
|
-
|
|
16
|
-
|
|
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(
|
|
28
|
-
if
|
|
29
|
-
|
|
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.
|
|
25
|
+
def self.activate_with_license_file()
|
|
30
26
|
return activate()
|
|
31
27
|
end
|
|
32
28
|
|
|
33
|
-
def self.activate_with_credentials(
|
|
34
|
-
return activate(
|
|
29
|
+
def self.activate_with_credentials(licenseKey)
|
|
30
|
+
return activate(licenseKey)
|
|
35
31
|
end
|
|
36
32
|
|
|
37
|
-
def self.activate_with_credentials_and_proxy(
|
|
38
|
-
return activate(
|
|
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(
|
|
42
|
-
activation_result = TransmitterWrapper.Activate(
|
|
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: ' +
|
|
61
|
+
'Runtime Library: ' + RuntimeNameHandler.get_name(@runtime_name) + ' ' + 'Ruby command type: ' + CommandType.get_name(@command_type).to_s + ' ' + 'with parameters: ' + @payload.to_s
|
|
61
62
|
end
|
|
62
63
|
|
|
63
64
|
def eql?(other)
|
|
@@ -8,34 +8,4 @@ module RuntimeName
|
|
|
8
8
|
RUBY = 6
|
|
9
9
|
NODEJS = 7
|
|
10
10
|
CPP = 8
|
|
11
|
-
|
|
12
|
-
def self.get_name(runtime_number)
|
|
13
|
-
if runtime_number == 0
|
|
14
|
-
return 'CLR'
|
|
15
|
-
end
|
|
16
|
-
if runtime_number == 1
|
|
17
|
-
return 'GO'
|
|
18
|
-
end
|
|
19
|
-
if runtime_number == 2
|
|
20
|
-
return 'JVM'
|
|
21
|
-
end
|
|
22
|
-
if runtime_number == 3
|
|
23
|
-
return 'NETCORE'
|
|
24
|
-
end
|
|
25
|
-
if runtime_number == 4
|
|
26
|
-
return 'PERL'
|
|
27
|
-
end
|
|
28
|
-
if runtime_number == 5
|
|
29
|
-
return 'PYTHON'
|
|
30
|
-
end
|
|
31
|
-
if runtime_number == 6
|
|
32
|
-
return 'RUBY'
|
|
33
|
-
end
|
|
34
|
-
if runtime_number == 7
|
|
35
|
-
return 'NODEJS'
|
|
36
|
-
end
|
|
37
|
-
if runtime_number == 8
|
|
38
|
-
return 'CPP'
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
11
|
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require_relative './runtime_name'
|
|
3
|
+
|
|
4
|
+
class RuntimeNameHandler
|
|
5
|
+
def self.get_name(runtime_name)
|
|
6
|
+
if runtime_name == RuntimeName::CLR
|
|
7
|
+
return 'clr'
|
|
8
|
+
end
|
|
9
|
+
if runtime_name == RuntimeName::GO
|
|
10
|
+
return 'go'
|
|
11
|
+
end
|
|
12
|
+
if runtime_name == RuntimeName::JVM
|
|
13
|
+
return 'jvm'
|
|
14
|
+
end
|
|
15
|
+
if runtime_name == RuntimeName::NETCORE
|
|
16
|
+
return 'netcore'
|
|
17
|
+
end
|
|
18
|
+
if runtime_name == RuntimeName::PERL
|
|
19
|
+
return 'perl'
|
|
20
|
+
end
|
|
21
|
+
if runtime_name == RuntimeName::PYTHON
|
|
22
|
+
return 'python'
|
|
23
|
+
end
|
|
24
|
+
if runtime_name == RuntimeName::RUBY
|
|
25
|
+
return 'ruby'
|
|
26
|
+
end
|
|
27
|
+
if runtime_name == RuntimeName::NODEJS
|
|
28
|
+
return 'nodejs'
|
|
29
|
+
end
|
|
30
|
+
if runtime_name == RuntimeName::CPP
|
|
31
|
+
return 'cpp'
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
class TcpConnectionData
|
|
2
|
+
attr_reader :ip_address, :port
|
|
3
|
+
|
|
4
|
+
def initialize(hostname, port)
|
|
5
|
+
@port = port
|
|
6
|
+
if hostname == "localhost"
|
|
7
|
+
@ip_address = "127.0.0.1"
|
|
8
|
+
else
|
|
9
|
+
begin
|
|
10
|
+
@ip_address = IPSocket.getaddress(hostname)
|
|
11
|
+
rescue SocketError
|
|
12
|
+
raise "Unable to resolve hostname to an IP address."
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def ==(other)
|
|
18
|
+
other.is_a?(TcpConnectionData) && @ip_address == other.ip_address && @port == other.port
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def to_s
|
|
22
|
+
"#{@ip_address}:#{@port}"
|
|
23
|
+
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def get_address_bytes
|
|
27
|
+
@ip_address.split(".").map(&:to_i)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def get_port_bytes
|
|
31
|
+
[@port & 0xFF, @port >> 8]
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.4.0
|
|
@@ -3,11 +3,11 @@ require_relative '../protocol/command_deserializer'
|
|
|
3
3
|
require_relative '../handler/handler'
|
|
4
4
|
|
|
5
5
|
class Interpreter
|
|
6
|
-
def execute(command, connection_type,
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
16
|
-
|
|
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(
|
|
28
|
-
if
|
|
29
|
-
|
|
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.
|
|
25
|
+
def self.activate_with_license_file()
|
|
30
26
|
return activate()
|
|
31
27
|
end
|
|
32
28
|
|
|
33
|
-
def self.activate_with_credentials(
|
|
34
|
-
return activate(
|
|
29
|
+
def self.activate_with_credentials(licenseKey)
|
|
30
|
+
return activate(licenseKey)
|
|
35
31
|
end
|
|
36
32
|
|
|
37
|
-
def self.activate_with_credentials_and_proxy(
|
|
38
|
-
return activate(
|
|
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(
|
|
42
|
-
activation_result = TransmitterWrapper.Activate(
|
|
37
|
+
private_class_method def self.activate(licenseKey = "", proxyHost = "", proxyUserName = "", proxyUserPassword = "")
|
|
38
|
+
activation_result = TransmitterWrapper.Activate(licenseKey, proxyHost, proxyUserName, proxyUserPassword)
|
|
43
39
|
if activation_result < 0
|
|
44
40
|
error_message = get_native_error
|
|
45
|
-
raise Exception.new "Javonet activation result: " + activation_result.to_s + ". " + error_message
|
|
41
|
+
raise Exception.new "Javonet activation result: " + activation_result.to_s + ". Native error message: " + error_message
|
|
46
42
|
else
|
|
47
43
|
return activation_result
|
|
48
44
|
end
|
|
49
45
|
end
|
|
50
46
|
|
|
47
|
+
def self.get_native_error
|
|
48
|
+
TransmitterWrapper.GetNativeError
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def self.set_config_source(configPath)
|
|
52
|
+
set_config_result = TransmitterWrapper.SetConfigSource(configPath)
|
|
53
|
+
if set_config_result < 0
|
|
54
|
+
error_message = get_native_error
|
|
55
|
+
raise Exception.new "Javonet set config source result: " + set_config_result.to_s + ". Native error message: " + error_message
|
|
56
|
+
else
|
|
57
|
+
return set_config_result
|
|
58
|
+
end
|
|
59
|
+
end
|
|
51
60
|
end
|
|
@@ -12,5 +12,5 @@ module TransmitterWrapper
|
|
|
12
12
|
attach_function :ReadResponse, [:pointer, :int], :int
|
|
13
13
|
attach_function :Activate, [:pointer, :pointer, :pointer, :pointer], :int
|
|
14
14
|
attach_function :GetNativeError, [], :string
|
|
15
|
-
|
|
15
|
+
attach_function :SetConfigSource, [:pointer], :int
|
|
16
16
|
end
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
require_relative './internal/abstract_config_runtime_factory'
|
|
2
|
+
require_relative './runtime_context'
|
|
3
|
+
require_relative './../utils/connection_type'
|
|
4
|
+
require_relative './tools/json_file_resolver'
|
|
5
|
+
|
|
6
|
+
# The ConfigRuntimeFactory class implements the AbstractConfigRuntimeFactory interface and provides methods for creating runtime contexts.
|
|
7
|
+
# Each method corresponds to a specific runtime (CLR, JVM, .NET Core, Perl, Ruby, Node.js, Python) and returns a RuntimeContext instance for that runtime.
|
|
8
|
+
# # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
|
|
9
|
+
class ConfigRuntimeFactory < AbstractConfigRuntimeFactory
|
|
10
|
+
|
|
11
|
+
def initialize(path)
|
|
12
|
+
@path = path
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Creates a RuntimeContext instance to interact with CLR runtime.
|
|
16
|
+
# @param config_name [String] The name of the configuration to use.
|
|
17
|
+
# @return [RuntimeContext] a RuntimeContext instance for the CLR runtime
|
|
18
|
+
# @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
|
|
19
|
+
def clr(config_name = "default")
|
|
20
|
+
get_runtime_context(RuntimeName::CLR, config_name)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# Creates a RuntimeContext instance to interact with JVM runtime.
|
|
24
|
+
# @param config_name [String] The name of the configuration to use.
|
|
25
|
+
# @return [RuntimeContext] a RuntimeContext instance for the JVM runtime
|
|
26
|
+
# @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
|
|
27
|
+
def jvm(config_name = "default")
|
|
28
|
+
get_runtime_context(RuntimeName::JVM, config_name)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# Creates a RuntimeContext instance to interact with .NET runtime.
|
|
32
|
+
# @param config_name [String] The name of the configuration to use.
|
|
33
|
+
# @return [RuntimeContext] a RuntimeContext instance for the .NET runtime
|
|
34
|
+
# @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
|
|
35
|
+
def netcore(config_name = "default")
|
|
36
|
+
get_runtime_context(RuntimeName::NETCORE, config_name)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Creates a RuntimeContext instance to interact with Perl runtime.
|
|
40
|
+
# @param config_name [String] The name of the configuration to use.
|
|
41
|
+
# @return [RuntimeContext] a RuntimeContext instance for the Perl runtime
|
|
42
|
+
# @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
|
|
43
|
+
def perl(config_name = "default")
|
|
44
|
+
get_runtime_context(RuntimeName::PERL, config_name)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Creates a RuntimeContext instance to interact with Ruby runtime.
|
|
48
|
+
# @param config_name [String] The name of the configuration to use.
|
|
49
|
+
# @return [RuntimeContext] a RuntimeContext instance for the Ruby runtime
|
|
50
|
+
# @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
|
|
51
|
+
def ruby(config_name = "default")
|
|
52
|
+
get_runtime_context(RuntimeName::RUBY, config_name)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Creates a RuntimeContext instance to interact with Node.js runtime.
|
|
56
|
+
# @param config_name [String] The name of the configuration to use.
|
|
57
|
+
# @return [RuntimeContext] a RuntimeContext instance for the Node.js runtime
|
|
58
|
+
# @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
|
|
59
|
+
def nodejs(config_name = "default")
|
|
60
|
+
get_runtime_context(RuntimeName::NODEJS, config_name)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Creates a RuntimeContext instance to interact with Python runtime.
|
|
64
|
+
# @param config_name [String] The name of the configuration to use.
|
|
65
|
+
# @return [RuntimeContext] a RuntimeContext instance for the Python runtime
|
|
66
|
+
# @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
|
|
67
|
+
def python(config_name = "default")
|
|
68
|
+
get_runtime_context(RuntimeName::PYTHON, config_name)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def get_runtime_context(runtime, config_name)
|
|
72
|
+
jfr = JsonFileResolver.new(@path)
|
|
73
|
+
|
|
74
|
+
begin
|
|
75
|
+
license_key = jfr.get_license_key
|
|
76
|
+
Transmitter.activate_with_credentials(license_key)
|
|
77
|
+
rescue
|
|
78
|
+
# licenseKey not found - do nothing
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
conn_type = jfr.get_channel_type(RuntimeNameHandler.get_name(runtime), config_name)
|
|
82
|
+
if conn_type == "tcp"
|
|
83
|
+
conn_data = TcpConnectionData.new(jfr.get_channel_host(RuntimeNameHandler.get_name(runtime), config_name),
|
|
84
|
+
jfr.get_channel_port(RuntimeNameHandler.get_name(runtime), config_name))
|
|
85
|
+
return RuntimeContext.get_instance(runtime, ConnectionType::TCP, conn_data)
|
|
86
|
+
elsif conn_type == "inMemory"
|
|
87
|
+
return RuntimeContext.get_instance(runtime, ConnectionType::IN_MEMORY, nil)
|
|
88
|
+
else
|
|
89
|
+
raise "Invalid connection type"
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
class AbstractConfigRuntimeFactory
|
|
2
|
+
def clr(config_name = "default")
|
|
3
|
+
raise NotImplementedError, "method not implemented"
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
def jvm(config_name = "default")
|
|
7
|
+
raise NotImplementedError, "method not implemented"
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def netcore(config_name = "default")
|
|
11
|
+
raise NotImplementedError, "method not implemented"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def perl(config_name = "default")
|
|
15
|
+
raise NotImplementedError, "method not implemented"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def ruby(config_name = "default")
|
|
19
|
+
raise NotImplementedError, "method not implemented"
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def nodejs(config_name = "default")
|
|
23
|
+
raise NotImplementedError, "method not implemented"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def python(config_name = "default")
|
|
27
|
+
raise NotImplementedError, "method not implemented"
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
end
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
require_relative '
|
|
2
|
-
require_relative '
|
|
3
|
-
require_relative '
|
|
4
|
-
require_relative '
|
|
1
|
+
require_relative 'internal/abstract_invocation_context'
|
|
2
|
+
require_relative 'internal/invocation_context_iterator'
|
|
3
|
+
require_relative '../core/interpreter/interpreter'
|
|
4
|
+
require_relative '../core/exceptions/exception_thrower'
|
|
5
5
|
|
|
6
6
|
# InvocationContext is a class that represents a context for invoking commands.
|
|
7
7
|
# It implements several interfaces for different types of interactions.
|
|
@@ -18,8 +18,8 @@ class InvocationContext < AbstractInvocationContext
|
|
|
18
18
|
@current_command = command
|
|
19
19
|
@response_command = nil
|
|
20
20
|
@interpreter = Interpreter.new
|
|
21
|
-
# generates error: ruby/lib/javonet-ruby-sdk/sdk/internal/invocation_context.rb:17: warning: finalizer references object to be finalized
|
|
22
|
-
#ObjectSpace.define_finalizer(self, self.finalize(@current_command, @is_executed, @interpreter, @connection_type, @tcp_ip_address))
|
|
21
|
+
# generates error: ruby/lib/javonet.rb-ruby-sdk/sdk/internal/invocation_context.rb:17: warning: finalizer references object to be finalized
|
|
22
|
+
# ObjectSpace.define_finalizer(self, self.finalize(@current_command, @is_executed, @interpreter, @connection_type, @tcp_ip_address))
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
def finalize(command, is_executed, interpreter, connection_type, tcp_ip_address)
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
require_relative './runtime_factory'
|
|
2
|
+
require_relative './config_runtime_factory'
|
|
3
|
+
require_relative './../utils/connection_type'
|
|
4
|
+
require_relative './../utils/tcp_connection_data'
|
|
5
|
+
require_relative './../core/transmitter/transmitter'
|
|
6
|
+
|
|
7
|
+
# The Javonet class is a singleton class that serves as the entry point for interacting with Javonet.
|
|
8
|
+
# It provides methods to activate and initialize the Javonet SDK.
|
|
9
|
+
# It supports both in-memory and TCP connections.
|
|
10
|
+
# @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/javonet-static-class article on Javonet Guides}
|
|
11
|
+
class Javonet
|
|
12
|
+
|
|
13
|
+
Transmitter.activate_with_license_file
|
|
14
|
+
|
|
15
|
+
# Initializes Javonet using an in-memory channel on the same machine.
|
|
16
|
+
# @return [RuntimeFactory] A RuntimeFactory instance configured for an in-memory connection.
|
|
17
|
+
# @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/in-memory-channel article on Javonet Guides}
|
|
18
|
+
def self.in_memory
|
|
19
|
+
RuntimeFactory.new(ConnectionType::IN_MEMORY, nil)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# Initializes Javonet with a TCP connection to a remote machine.
|
|
23
|
+
# @param address [TcpConnectionData] The address of the remote machine.
|
|
24
|
+
# @return [RuntimeFactory] A RuntimeFactory instance configured for a TCP connection.
|
|
25
|
+
# @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/tcp-channel article on Javonet Guides}
|
|
26
|
+
def self.tcp(tcp_connection_data)
|
|
27
|
+
RuntimeFactory.new(ConnectionType::TCP, tcp_connection_data)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Initializes Javonet with a custom configuration file.
|
|
31
|
+
# @param path [String] Path to a configuration file.
|
|
32
|
+
# @return [ConfigRuntimeFactory] A ConfigRuntimeFactory instance configured with configuration data
|
|
33
|
+
# @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/configure-channel article on Javonet Guides}
|
|
34
|
+
def self.with_config(path)
|
|
35
|
+
Transmitter.set_config_source(path)
|
|
36
|
+
ConfigRuntimeFactory.new(path)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Activates Javonet with the provided license key and optionally with proxy data.
|
|
40
|
+
# @param license_key [String] The license key to activate Javonet.
|
|
41
|
+
# @param proxy_host [String] The host for the proxy server (optional).
|
|
42
|
+
# @param proxy_user_name [String] The username for the proxy server (optional).
|
|
43
|
+
# @param proxy_user_password [String] The password for the proxy server (optional).
|
|
44
|
+
# @return [Integer] The activation status code.
|
|
45
|
+
# @see https://www.javonet.com/guides/v2/ruby/getting-started/activating-javonet Activating Javonet Guide
|
|
46
|
+
def self.activate(license_key, proxy_host=nil, proxy_user_name=nil, proxy_password=nil)
|
|
47
|
+
proxy_host ||= ""
|
|
48
|
+
proxy_user_name ||= ""
|
|
49
|
+
proxy_password ||= ""
|
|
50
|
+
return Transmitter.activate_with_credentials_and_proxy(license_key, proxy_host, proxy_user_name, proxy_password)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
end
|