javonet-ruby-sdk 2.3.0 → 2.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- 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/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/Path/Tiny.pm +10 -3
- 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/Path/Tiny.pm +10 -3
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/perllocal.pod +141 -75
- 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/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 +16 -16
- 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/{Windows/X64/javonet/core/transmitter/PythonTransmitterWrapper.py → Linux/X64/javonet/core/transmitter/TransmitterWrapper.py} +86 -69
- 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/{Linux/X64/javonet/core/transmitter/PythonTransmitterWrapper.py → MacOs/X64/javonet/core/transmitter/TransmitterWrapper.py} +27 -10
- 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/{MacOs/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 +49 -14
- 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,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
|
@@ -1,16 +1,17 @@
|
|
1
|
-
require_relative '
|
2
|
-
require_relative 'invocation_context'
|
3
|
-
require_relative '
|
4
|
-
require_relative '
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
1
|
+
require_relative './internal/abstract_runtime_context'
|
2
|
+
require_relative './invocation_context'
|
3
|
+
require_relative './../utils/connection_type'
|
4
|
+
require_relative './../utils/tcp_connection_data'
|
5
|
+
require_relative './../core/interpreter/interpreter'
|
6
|
+
|
7
|
+
# Represents a single context which allows interaction with a selected technology.
|
8
|
+
# Refers to a single instance of the called runtime within a particular target OS process.
|
9
|
+
# This can be either the local currently running process (inMemory) or a particular remote process identified by the IP Address and PORT of the target Javonet instance.
|
10
|
+
# Multiple Runtime Contexts can be initialized within one process.
|
11
|
+
# Calling the same technology on inMemory communication channel will return the existing instance of runtime context.
|
12
|
+
# Calling the same technology on TCP channel but on different nodes will result in unique Runtime Contexts.
|
13
|
+
# Within the runtime context, any number of libraries can be loaded and any objects from the target technology can be interacted with, as they are aware of each other due to sharing the same memory space and same runtime instance.
|
14
|
+
# @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
|
14
15
|
class RuntimeContext < AbstractRuntimeContext
|
15
16
|
@@memory_runtime_contexts = Hash.new
|
16
17
|
@@network_runtime_contexts = Hash.new
|
@@ -21,33 +22,35 @@ class RuntimeContext < AbstractRuntimeContext
|
|
21
22
|
# accessor set method
|
22
23
|
attr_writer :current_command
|
23
24
|
|
24
|
-
def initialize(runtime_name, connection_type,
|
25
|
+
def initialize(runtime_name, connection_type, tcp_connection_data)
|
25
26
|
@runtime_name = runtime_name
|
26
27
|
@connection_type = connection_type
|
27
|
-
@tcp_ip_address =
|
28
|
+
@tcp_ip_address = tcp_connection_data
|
28
29
|
@current_command = nil
|
29
30
|
@interpreter = Interpreter.new
|
30
31
|
end
|
31
32
|
|
32
|
-
def self.get_instance(runtime_name, connection_type,
|
33
|
-
|
34
|
-
|
35
|
-
|
33
|
+
def self.get_instance(runtime_name, connection_type, tcp_connection_data)
|
34
|
+
case connection_type
|
35
|
+
when ConnectionType::IN_MEMORY
|
36
|
+
if @@memory_runtime_contexts.has_key?(runtime_name)
|
37
|
+
runtime_ctx = @@memory_runtime_contexts[runtime_name]
|
36
38
|
runtime_ctx.current_command = nil
|
37
39
|
return runtime_ctx
|
38
40
|
else
|
39
|
-
runtime_ctx = RuntimeContext.new(runtime_name, connection_type,
|
40
|
-
@@
|
41
|
+
runtime_ctx = RuntimeContext.new(runtime_name, connection_type, tcp_connection_data)
|
42
|
+
@@memory_runtime_contexts[runtime_name] = runtime_ctx
|
41
43
|
return runtime_ctx
|
42
44
|
end
|
43
|
-
|
44
|
-
|
45
|
-
|
45
|
+
when ConnectionType::TCP
|
46
|
+
key = runtime_name.to_s + ":" + tcp_connection_data.to_s
|
47
|
+
if @@network_runtime_contexts.has_key?(key)
|
48
|
+
runtime_ctx = @@network_runtime_contexts[key]
|
46
49
|
runtime_ctx.current_command = nil
|
47
50
|
return runtime_ctx
|
48
51
|
else
|
49
|
-
runtime_ctx = RuntimeContext.new(runtime_name, connection_type,
|
50
|
-
@@
|
52
|
+
runtime_ctx = RuntimeContext.new(runtime_name, connection_type, tcp_connection_data)
|
53
|
+
@@network_runtime_contexts[key] = runtime_ctx
|
51
54
|
return runtime_ctx
|
52
55
|
end
|
53
56
|
end
|
@@ -66,7 +69,7 @@ class RuntimeContext < AbstractRuntimeContext
|
|
66
69
|
raise ExceptionThrower.throw_exception(@response_command)
|
67
70
|
end
|
68
71
|
end
|
69
|
-
|
72
|
+
|
70
73
|
# Adds a reference to a library. Javonet allows you to reference and use modules or packages written in various languages.
|
71
74
|
# This method allows you to use any library from all supported technologies. The necessary libraries need to be referenced.
|
72
75
|
# The argument is a relative or full path to the library. If the library has dependencies on other libraries, the latter needs to be added first.
|
@@ -115,9 +118,9 @@ class RuntimeContext < AbstractRuntimeContext
|
|
115
118
|
return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
|
116
119
|
end
|
117
120
|
|
118
|
-
# Creates a reference type argument that can be passed to a method with a ref parameter modifier.
|
121
|
+
# Creates a reference type argument that can be passed to a method with a ref parameter modifier.
|
119
122
|
# This method is used when working with methods from the called runtime that require arguments to be passed by reference.
|
120
|
-
# The arguments include the value and optionally the type of the reference.
|
123
|
+
# The arguments include the value and optionally the type of the reference.
|
121
124
|
# The type must be retrieved from the called runtime using the getType method.
|
122
125
|
# After creating the reference, it can be used as an argument when invoking methods.
|
123
126
|
# @param args [Array] The value and optionally the type of the reference.
|
@@ -129,9 +132,9 @@ class RuntimeContext < AbstractRuntimeContext
|
|
129
132
|
return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
|
130
133
|
end
|
131
134
|
|
132
|
-
# Creates a reference type argument that can be passed to a method with an out parameter modifier.
|
135
|
+
# Creates a reference type argument that can be passed to a method with an out parameter modifier.
|
133
136
|
# This method is used when working with methods from the called runtime that require arguments to be passed by reference.
|
134
|
-
# The arguments include the value and optionally the type of the reference.
|
137
|
+
# The arguments include the value and optionally the type of the reference.
|
135
138
|
# The type must be retrieved from the called runtime using the getType method.
|
136
139
|
# After creating the reference, it can be used as an argument when invoking methods.
|
137
140
|
# @param args [Array] The value and optionally the type of the reference.
|
@@ -143,9 +146,8 @@ class RuntimeContext < AbstractRuntimeContext
|
|
143
146
|
return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
|
144
147
|
end
|
145
148
|
|
146
|
-
|
147
149
|
def build_command(command)
|
148
|
-
command.payload.each_index {|i|
|
150
|
+
command.payload.each_index { |i|
|
149
151
|
command.payload[i] = encapsulate_payload_item(command.payload[i])
|
150
152
|
}
|
151
153
|
return command.prepend_arg_to_payload(@current_command)
|
@@ -169,8 +171,6 @@ class RuntimeContext < AbstractRuntimeContext
|
|
169
171
|
|
170
172
|
else
|
171
173
|
return Command.new(@runtime_name, CommandType::VALUE, [*payload_item])
|
172
|
-
|
173
174
|
end
|
174
175
|
end
|
175
|
-
|
176
176
|
end
|