javonet-ruby-sdk 2.1.11 → 2.1.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +3 -3
- data/VERSION +1 -1
- data/javonet-ruby-sdk.gemspec +11 -12
- 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/NetVersion80LatestPatch.runtimeconfig.json +10 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/NetVersionLatest.runtimeconfig.json +2 -2
- 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/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/MacOs/X64/NetVersion80LatestPatch.runtimeconfig.json +10 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/NetVersionLatest.runtimeconfig.json +2 -2
- 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/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/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/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/NetVersion80LatestPatch.runtimeconfig.json +10 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/NetVersionLatest.runtimeconfig.json +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
- 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/handler/ArraySetItemHandler.js +4 -4
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/GetTypeHandler.js +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ValueHandler.js +4 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/interpreter/Interpreter.js +17 -9
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/CommandDeserializer.js +160 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/{CommandEncoder.js → CommandSerializer.js} +5 -5
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/TypeDeserializer.js +77 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/TypeSerializer.js +126 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/receiver/Receiver.js +1 -4
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/utils/CommandType.js +6 -4
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ArraySetItemHandler.js +4 -4
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/GetTypeHandler.js +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ValueHandler.js +4 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/interpreter/Interpreter.js +17 -9
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/CommandDeserializer.js +160 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/{CommandEncoder.js → CommandSerializer.js} +5 -5
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/TypeDeserializer.js +77 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/TypeSerializer.js +126 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/receiver/Receiver.js +1 -4
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/utils/CommandType.js +6 -4
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ArraySetItemHandler.js +4 -4
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/GetTypeHandler.js +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ValueHandler.js +4 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/interpreter/Interpreter.js +17 -9
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/CommandDeserializer.js +160 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/{CommandEncoder.js → CommandSerializer.js} +5 -5
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/TypeDeserializer.js +77 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/TypeSerializer.js +126 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/receiver/Receiver.js +1 -4
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/utils/CommandType.js +6 -4
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter/Cookbook.pod +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter/Tutorial.pod +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter/Util.pm +16 -16
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter.pm +20 -21
- 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 +90 -90
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/ArraySetItemHandler.pm +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +7 -4
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +17 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +38 -5
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Sub/Exporter/Cookbook.pod +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Sub/Exporter/Tutorial.pod +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Sub/Exporter/Util.pm +16 -16
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Sub/Exporter.pm +20 -21
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/share/dist/FFI-Platypus/include/ffi_platypus_config.h +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/perllocal.pod +86 -86
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Core/Handler/CommandHandler/ArraySetItemHandler.pm +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +7 -4
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +17 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +38 -5
- 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/lib/Javonet/Core/Handler/CommandHandler/ArraySetItemHandler.pm +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +7 -4
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +17 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +38 -5
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/generator/handler/shared/SharedTypeHandler.py +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/ArraySetItemHandler.py +8 -4
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/CreateClassInstanceHandler.py +0 -1
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/interpreter/Interpreter.py +4 -5
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/CommandDeserializer.py +64 -37
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/CommandSerializer.py +14 -10
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/TypeDeserializer.py +31 -47
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/TypeSerializer.py +39 -43
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/CommandType.py +6 -4
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/Type.py +1 -2
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/generator/handler/shared/SharedTypeHandler.py +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/ArraySetItemHandler.py +8 -4
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/CreateClassInstanceHandler.py +0 -1
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/interpreter/Interpreter.py +4 -5
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/CommandDeserializer.py +64 -37
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/CommandSerializer.py +14 -10
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/TypeDeserializer.py +31 -47
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/TypeSerializer.py +39 -43
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/CommandType.py +6 -4
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/Type.py +1 -2
- 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/handler/shared/SharedTypeHandler.py +2 -2
- 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/ArraySetItemHandler.py +8 -4
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/CreateClassInstanceHandler.py +0 -1
- 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 +4 -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/CommandDeserializer.py +64 -37
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/CommandSerializer.py +14 -10
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/TypeDeserializer.py +31 -47
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/TypeSerializer.py +39 -43
- 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/utils/CommandType.py +6 -4
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/Type.py +1 -2
- 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__/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/handler/command_handler/array_set_item_handler.rb +4 -4
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/interpreter/interpreter.rb +4 -4
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_deserializer.rb +150 -115
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_serializer.rb +23 -24
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/type_deserializer.rb +35 -48
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/type_serializer.rb +43 -40
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/command_type.rb +14 -8
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/type.rb +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/command_handler/array_set_item_handler.rb +4 -4
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/interpreter/interpreter.rb +4 -4
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_deserializer.rb +150 -115
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_serializer.rb +23 -24
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/type_deserializer.rb +35 -48
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/type_serializer.rb +43 -40
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/command_type.rb +14 -8
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/type.rb +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/command_handler/array_set_item_handler.rb +4 -4
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/interpreter/interpreter.rb +4 -4
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_deserializer.rb +150 -115
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_serializer.rb +23 -24
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/type_deserializer.rb +35 -48
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/type_serializer.rb +43 -40
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/command_type.rb +14 -8
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/type.rb +1 -1
- data/lib/javonet-ruby-sdk/core/handler/command_handler/array_set_item_handler.rb +4 -4
- data/lib/javonet-ruby-sdk/core/interpreter/interpreter.rb +4 -4
- data/lib/javonet-ruby-sdk/core/protocol/command_deserializer.rb +150 -115
- data/lib/javonet-ruby-sdk/core/protocol/command_serializer.rb +23 -24
- data/lib/javonet-ruby-sdk/core/protocol/type_deserializer.rb +35 -48
- data/lib/javonet-ruby-sdk/core/protocol/type_serializer.rb +43 -40
- data/lib/javonet-ruby-sdk/sdk/internal/invocation_context.rb +9 -1
- data/lib/javonet-ruby-sdk/sdk/internal/invocation_context_iterator.rb +8 -8
- data/lib/javonet-ruby-sdk/sdk/internal/runtime_context.rb +12 -0
- data/lib/javonet-ruby-sdk/utils/command_type.rb +14 -8
- data/lib/javonet-ruby-sdk/utils/type.rb +1 -1
- metadata +59 -73
- data/lib/javonet-ruby-sdk/Binaries/Cpp/Linux/X64/libJavonetCppRuntime.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Cpp/MacOs/X64/libJavonetCppRuntime.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Cpp/Windows/X64/JavonetCppRuntime.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Go/Linux/X64/libJavonetGoRuntime.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Go/MacOs/X64/libJavonetGoRuntime.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Go/Windows/X64/JavonetGoRuntime.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/CommandDecoder.js +0 -171
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/TypeEncoder.js +0 -78
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/CommandDecoder.js +0 -171
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/TypeEncoder.js +0 -78
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/CommandDecoder.js +0 -171
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/TypeEncoder.js +0 -78
@@ -2,73 +2,60 @@ require_relative '../../utils/string_encoding_mode'
|
|
2
2
|
|
3
3
|
class TypeDeserializer
|
4
4
|
|
5
|
-
def self.
|
6
|
-
|
7
|
-
return int_value
|
8
|
-
end
|
9
|
-
|
10
|
-
# def self.deserialize_unsigned_int(encoded_unsigned_int)
|
11
|
-
# unsigned_int_value = struct.unpack("<I", bytearray(encoded_unsigned_int))[0]
|
12
|
-
# return unsigned_int_value
|
13
|
-
# end
|
14
|
-
#
|
15
|
-
# def self.deserialize_longlong(encoded_longlong)
|
16
|
-
# longlong_value = struct.unpack("<q", bytearray(encoded_longlong))[0]
|
17
|
-
# return longlong_value
|
18
|
-
# end
|
19
|
-
|
20
|
-
|
21
|
-
def self.deserialize_double(encoded_double)
|
22
|
-
double_value = encoded_double.map(&:chr).join.unpack('d').first
|
23
|
-
return double_value
|
5
|
+
def self.deserialize_command(command_byte_array)
|
6
|
+
Command.new(RuntimeName(command_byte_array[0]), CommandType(command_byte_array[1]), [])
|
24
7
|
end
|
25
8
|
|
26
9
|
def self.deserialize_string(string_encoding_mode, encoded_string)
|
27
|
-
|
28
10
|
case string_encoding_mode
|
29
11
|
when StringEncodingMode::ASCII
|
30
|
-
|
12
|
+
encoded_string.pack('C*').force_encoding("US-ASCII").encode("UTF-8")
|
31
13
|
when StringEncodingMode::UTF8
|
32
|
-
|
14
|
+
encoded_string.pack("C*").force_encoding("UTF-8").encode("UTF-8")
|
33
15
|
when StringEncodingMode::UTF16
|
34
|
-
|
16
|
+
encoded_string.pack("C*").force_encoding("UTF-16LE").encode("UTF-8")
|
35
17
|
when StringEncodingMode::UTF32
|
36
|
-
|
18
|
+
encoded_string.pack("C*").force_encoding("UTF-32").encode("UTF-8")
|
37
19
|
else
|
38
|
-
|
20
|
+
raise "Argument out of range in deserialize_string"
|
39
21
|
end
|
40
22
|
|
41
|
-
return string_value
|
42
23
|
end
|
43
24
|
|
44
|
-
def self.
|
45
|
-
|
46
|
-
return float_value
|
25
|
+
def self.deserialize_int(encoded_int)
|
26
|
+
encoded_int.map(&:chr).join.unpack('i').first
|
47
27
|
end
|
48
28
|
|
49
29
|
def self.deserialize_bool(encoded_bool)
|
50
|
-
|
51
|
-
|
52
|
-
else
|
53
|
-
bool_value = false
|
54
|
-
end
|
30
|
+
encoded_bool[0] == 1
|
31
|
+
end
|
55
32
|
|
56
|
-
|
33
|
+
def self.deserialize_float(encoded_float)
|
34
|
+
encoded_float.map(&:chr).join.unpack('f').first
|
57
35
|
end
|
58
36
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
# end
|
63
|
-
#
|
64
|
-
# def self.deserialize_bytes(encoded_bytes)
|
65
|
-
# bytes_value = struct.unpack("<c", bytearray(encoded_bytes))[0]
|
66
|
-
# return bytes_value
|
67
|
-
# end
|
37
|
+
def self.deserialize_byte(encoded_byte)
|
38
|
+
encoded_byte[0]
|
39
|
+
end
|
68
40
|
|
69
|
-
def self.
|
70
|
-
|
71
|
-
|
41
|
+
def self.deserialize_char(encoded_char)
|
42
|
+
encoded_char[0].ord
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.deserialize_longlong(encoded_long)
|
46
|
+
encoded_long.map(&:chr).join.unpack('q').first
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.deserialize_double(encoded_double)
|
50
|
+
encoded_double.map(&:chr).join.unpack('d').first
|
51
|
+
end
|
52
|
+
|
53
|
+
def self.deserialize_ullong(encoded_ullong)
|
54
|
+
encoded_ullong.map(&:chr).join.unpack('Q').first
|
55
|
+
end
|
56
|
+
|
57
|
+
def self.deserialize_uint(encoded_uint)
|
58
|
+
encoded_uint.map(&:chr).join.unpack('I').first
|
72
59
|
end
|
73
60
|
|
74
|
-
end
|
61
|
+
end
|
@@ -3,8 +3,15 @@ require_relative '../../utils/string_encoding_mode'
|
|
3
3
|
|
4
4
|
class TypeSerializer
|
5
5
|
|
6
|
-
def self.
|
7
|
-
|
6
|
+
def self.serialize_command(command)
|
7
|
+
length = [command.payload.length].pack("i").bytes
|
8
|
+
return [Type::COMMAND] + length + [command.runtime_name, command.command_type]
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.serialize_string(string_value)
|
12
|
+
encoded_string_list = string_value.bytes
|
13
|
+
length = [encoded_string_list.length].pack("i").bytes
|
14
|
+
return [Type::JAVONET_STRING, StringEncodingMode::UTF8] + length + encoded_string_list
|
8
15
|
end
|
9
16
|
|
10
17
|
def self.serialize_int(int_value)
|
@@ -13,56 +20,52 @@ class TypeSerializer
|
|
13
20
|
return [Type::JAVONET_INTEGER, length] + encoded_int_list
|
14
21
|
end
|
15
22
|
|
16
|
-
def self.
|
17
|
-
|
18
|
-
|
19
|
-
|
23
|
+
def self.serialize_bool(bool_value)
|
24
|
+
encoded_bool_list = bool_value ? [1] : [0]
|
25
|
+
length = encoded_bool_list.length
|
26
|
+
return [Type::JAVONET_BOOLEAN, length] + encoded_bool_list
|
20
27
|
end
|
21
28
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
#
|
28
|
-
# def serialize_unsignedlonglong(unsigned_longlong_value)
|
29
|
-
# encoded_unsignedlonglong_list = list(bytearray(struct.pack("<q", unsigned_longlong_value)))
|
30
|
-
# length = len(encoded_unsignedlonglong_list)
|
31
|
-
# return [Type::JAVONET_UNSIGNED_LONG_LONG, length] + encoded_unsignedlonglong_list
|
32
|
-
# end
|
29
|
+
def self.serialize_float(float_value)
|
30
|
+
encoded_float_list = [float_value].pack("f").bytes
|
31
|
+
length = encoded_float_list.length
|
32
|
+
return [Type::JAVONET_FLOAT, length] + encoded_float_list
|
33
|
+
end
|
33
34
|
|
34
|
-
def self.
|
35
|
-
|
36
|
-
|
37
|
-
|
35
|
+
def self.serialize_byte(byte_value)
|
36
|
+
encoded_byte_list = [byte_value].pack("c").bytes
|
37
|
+
length = encoded_byte_list.length
|
38
|
+
return [Type::JAVONET_BYTE, length] + encoded_byte_list
|
38
39
|
end
|
39
40
|
|
40
|
-
def self.
|
41
|
-
|
42
|
-
|
43
|
-
|
41
|
+
def self.serialize_char(char_value)
|
42
|
+
encoded_char_list = [char_value].pack("c").bytes
|
43
|
+
length = encoded_char_list.length
|
44
|
+
return [Type::JAVONET_CHAR, length] + encoded_char_list
|
44
45
|
end
|
45
46
|
|
46
|
-
def self.
|
47
|
-
|
48
|
-
|
49
|
-
|
47
|
+
def self.serialize_longlong(longlong_value)
|
48
|
+
encoded_longlong_list = [longlong_value].pack("q").bytes
|
49
|
+
length = encoded_longlong_list.length
|
50
|
+
return [Type::JAVONET_LONG_LONG, length] + encoded_longlong_list
|
50
51
|
end
|
51
52
|
|
52
|
-
def self.
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
encoded_bool_list = [0]
|
57
|
-
end
|
58
|
-
length = encoded_bool_list.length
|
59
|
-
return [Type::JAVONET_BOOLEAN, length] + encoded_bool_list
|
53
|
+
def self.serialize_double(double_value)
|
54
|
+
encoded_double_list = [double_value].pack("d").bytes
|
55
|
+
length = encoded_double_list.length
|
56
|
+
return [Type::JAVONET_DOUBLE, length] + encoded_double_list
|
60
57
|
end
|
61
58
|
|
59
|
+
def self.serialize_uint(uint_value)
|
60
|
+
encoded_uint_list = [uint_value].pack("I").bytes
|
61
|
+
length = encoded_uint_list.length
|
62
|
+
return [Type::JAVONET_UNSIGNED_INTEGER, length] + encoded_uint_list
|
63
|
+
end
|
62
64
|
|
63
|
-
def self.
|
64
|
-
|
65
|
-
|
65
|
+
def self.serialize_ullong(ullong_value)
|
66
|
+
encoded_ullong_list = [ullong_value].pack("Q").bytes
|
67
|
+
length = encoded_ullong_list.length
|
68
|
+
return [Type::JAVONET_UNSIGNED_LONG_LONG, length] + encoded_ullong_list
|
66
69
|
end
|
67
70
|
|
68
71
|
end
|
@@ -27,10 +27,12 @@ class CommandType
|
|
27
27
|
SET_INSTANCE_FIELD = 25
|
28
28
|
INVOKE_GENERIC_STATIC_METHOD = 26
|
29
29
|
INVOKE_GENERIC_METHOD = 27
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
30
|
+
GET_ENUM_ITEM = 28
|
31
|
+
GET_ENUM_NAME = 29
|
32
|
+
GET_ENUM_VALUE = 30
|
33
|
+
AS_REF = 31
|
34
|
+
AS_OUT = 32
|
35
|
+
GET_REF_VALUE = 33
|
34
36
|
|
35
37
|
def self.get_name(command_number)
|
36
38
|
case command_number
|
@@ -91,13 +93,17 @@ class CommandType
|
|
91
93
|
when 27
|
92
94
|
return 'INVOKE_GENERIC_METHOD'
|
93
95
|
when 28
|
94
|
-
return 'CREATE_GENERIC_CLASS_INSTANCE'
|
95
|
-
when 29
|
96
96
|
return 'GET_ENUM_ITEM'
|
97
|
-
when
|
97
|
+
when 29
|
98
98
|
return 'GET_ENUM_NAME'
|
99
|
-
when
|
99
|
+
when 30
|
100
100
|
return 'GET_ENUM_VALUE'
|
101
|
+
when 31
|
102
|
+
return 'AS_REF'
|
103
|
+
when 32
|
104
|
+
return 'AS_OUT'
|
105
|
+
when 33
|
106
|
+
return 'GET_REF_VALUE'
|
101
107
|
end
|
102
108
|
end
|
103
109
|
end
|
@@ -25,11 +25,11 @@ class ArraySetItemHandler < AbstractCommandHandler
|
|
25
25
|
|
26
26
|
def set_item_array(command)
|
27
27
|
array = command.payload[0]
|
28
|
-
value = command.payload[
|
29
|
-
indexes = if command.payload[
|
30
|
-
command.payload[
|
28
|
+
value = command.payload[2]
|
29
|
+
indexes = if command.payload[1].is_a? Array
|
30
|
+
command.payload[1]
|
31
31
|
else
|
32
|
-
command.payload[
|
32
|
+
[command.payload[1]]
|
33
33
|
end
|
34
34
|
indexes[..-2].each { |i|
|
35
35
|
array = array[i]
|
@@ -6,7 +6,7 @@ class Interpreter
|
|
6
6
|
def execute(command, connection_type, tcp_address)
|
7
7
|
|
8
8
|
command_serializer = CommandSerializer.new
|
9
|
-
message_byte_array = command_serializer.
|
9
|
+
message_byte_array = command_serializer.serialize(command, connection_type, tcp_address)
|
10
10
|
if command.runtime_name == RuntimeName::RUBY
|
11
11
|
require_relative '../receiver/receiver'
|
12
12
|
response_byte_array = Receiver.new.send_command(message_byte_array, message_byte_array.length)
|
@@ -16,15 +16,15 @@ class Interpreter
|
|
16
16
|
end
|
17
17
|
|
18
18
|
command_deserializer = CommandDeserializer.new(response_byte_array,response_byte_array.length)
|
19
|
-
encoded_response = command_deserializer.
|
19
|
+
encoded_response = command_deserializer.deserialize
|
20
20
|
return encoded_response
|
21
21
|
end
|
22
22
|
|
23
23
|
def process(byte_array, byte_array_len)
|
24
24
|
command_deserializer = CommandDeserializer.new(byte_array,byte_array_len)
|
25
|
-
received_command = command_deserializer.
|
25
|
+
received_command = command_deserializer.deserialize
|
26
26
|
handler = Handler.new
|
27
27
|
command_serializer = CommandSerializer.new
|
28
|
-
return command_serializer.
|
28
|
+
return command_serializer.serialize(handler.handle_command(received_command), 0, "0.0.0.0:0")
|
29
29
|
end
|
30
30
|
end
|
@@ -5,122 +5,157 @@ require_relative '../../utils/string_encoding_mode'
|
|
5
5
|
|
6
6
|
class CommandDeserializer
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
@command = @command.add_arg_to_payload(read_object(@buffer[@position]))
|
23
|
-
end
|
24
|
-
return @command
|
25
|
-
end
|
26
|
-
|
27
|
-
# def copy_from(self, bytes_to_copy, elements_to_skip):
|
28
|
-
# size = len(bytes_to_copy) - elements_to_skip
|
29
|
-
# new_byte_array = bytes_to_copy[size]
|
30
|
-
#
|
31
|
-
#
|
32
|
-
# return new_byte_array
|
33
|
-
|
34
|
-
def read_object(type_num)
|
35
|
-
type_value = type_num
|
36
|
-
if type_value == Type::COMMAND
|
37
|
-
return self.read_command
|
38
|
-
elsif type_value == Type::JAVONET_INTEGER
|
39
|
-
return self.read_int
|
40
|
-
elsif type_value == Type::JAVONET_STRING
|
41
|
-
return self.read_string
|
42
|
-
elsif type_value == Type::JAVONET_BOOLEAN
|
43
|
-
return self.read_bool
|
44
|
-
elsif type_value == Type::JAVONET_FLOAT
|
45
|
-
return self.read_float
|
46
|
-
elsif type_value == Type::JAVONET_DOUBLE
|
47
|
-
return self.read_double
|
48
|
-
else
|
49
|
-
Exception("Type not supported")
|
50
|
-
end
|
8
|
+
def initialize(buffer, byte_array_len)
|
9
|
+
@buffer = buffer
|
10
|
+
@byte_array_len = byte_array_len
|
11
|
+
@command = Command.new(buffer[0], buffer[10], [])
|
12
|
+
@position = 11
|
13
|
+
end
|
14
|
+
|
15
|
+
def is_at_end
|
16
|
+
@position == @byte_array_len
|
17
|
+
end
|
18
|
+
|
19
|
+
def deserialize
|
20
|
+
until is_at_end
|
21
|
+
@command = @command.add_arg_to_payload(read_object(@buffer[@position]))
|
51
22
|
end
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
23
|
+
@command
|
24
|
+
end
|
25
|
+
|
26
|
+
# def copy_from(self, bytes_to_copy, elements_to_skip):
|
27
|
+
# size = len(bytes_to_copy) - elements_to_skip
|
28
|
+
# new_byte_array = bytes_to_copy[size]
|
29
|
+
# return new_byte_array
|
30
|
+
|
31
|
+
def read_object(type_num)
|
32
|
+
case type_num
|
33
|
+
when Type::COMMAND
|
34
|
+
return self.read_command
|
35
|
+
when Type::JAVONET_STRING
|
36
|
+
return self.read_string
|
37
|
+
when Type::JAVONET_INTEGER
|
38
|
+
return self.read_int
|
39
|
+
when Type::JAVONET_BOOLEAN
|
40
|
+
return self.read_bool
|
41
|
+
when Type::JAVONET_FLOAT
|
42
|
+
return self.read_float
|
43
|
+
when Type::JAVONET_BYTE
|
44
|
+
return self.read_byte
|
45
|
+
when Type::JAVONET_CHAR
|
46
|
+
return self.read_char
|
47
|
+
when Type::JAVONET_LONG_LONG
|
48
|
+
return self.read_longlong
|
49
|
+
when Type::JAVONET_DOUBLE
|
50
|
+
return self.read_double
|
51
|
+
when Type::JAVONET_UNSIGNED_LONG_LONG
|
52
|
+
return self.read_ullong
|
53
|
+
when Type::JAVONET_UNSIGNED_INTEGER
|
54
|
+
return self.read_uint
|
55
|
+
else
|
56
|
+
raise Exception.new("Type #{type_num} not supported in command deserializer")
|
74
57
|
end
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
def read_bool
|
96
|
-
p = @position
|
97
|
-
size = @buffer[p + 1]
|
98
|
-
@position += 2
|
99
|
-
p = @position
|
100
|
-
decoded_bool = TypeDeserializer.deserialize_bool(@buffer[p..p + size])
|
101
|
-
@position += size
|
102
|
-
return decoded_bool
|
103
|
-
end
|
104
|
-
|
105
|
-
|
106
|
-
def read_float
|
107
|
-
p = @position
|
108
|
-
size = @buffer[p + 1]
|
109
|
-
@position += 2
|
110
|
-
p = @position
|
111
|
-
decoded_float = TypeDeserializer.deserialize_float(@buffer[p..p + size - 1])
|
112
|
-
@position += size
|
113
|
-
return decoded_float
|
114
|
-
end
|
115
|
-
|
116
|
-
|
117
|
-
def read_double
|
118
|
-
p = @position
|
119
|
-
size = @buffer[p + 1]
|
120
|
-
@position += 2
|
121
|
-
p = @position
|
122
|
-
decoded_double = TypeDeserializer.deserialize_double(@buffer[p..p + size -1])
|
123
|
-
@position += size
|
124
|
-
return decoded_double
|
58
|
+
end
|
59
|
+
|
60
|
+
def read_command
|
61
|
+
p = @position
|
62
|
+
number_of_elements_in_payload = TypeDeserializer.deserialize_int(@buffer[p + 1..p + 4])
|
63
|
+
runtime = @buffer[p + 5]
|
64
|
+
command_type = @buffer[p + 6]
|
65
|
+
@position += 7
|
66
|
+
return_command = Command.new(runtime, command_type, [])
|
67
|
+
read_command_recursively(number_of_elements_in_payload, return_command)
|
68
|
+
end
|
69
|
+
|
70
|
+
def read_command_recursively(number_of_elements_in_payload_left, cmd)
|
71
|
+
if number_of_elements_in_payload_left == 0
|
72
|
+
cmd
|
73
|
+
else
|
74
|
+
p = @position
|
75
|
+
cmd = cmd.add_arg_to_payload(self.read_object(@buffer[p]))
|
76
|
+
read_command_recursively(number_of_elements_in_payload_left - 1, cmd)
|
125
77
|
end
|
78
|
+
end
|
79
|
+
|
80
|
+
def read_string
|
81
|
+
p = @position
|
82
|
+
string_encoding_mode = @buffer[p + 1]
|
83
|
+
size = TypeDeserializer.deserialize_int(@buffer[p + 2..p + 5])
|
84
|
+
@position += 6
|
85
|
+
p = @position
|
86
|
+
@position += size
|
87
|
+
TypeDeserializer.deserialize_string(string_encoding_mode, @buffer[p..p + size - 1])
|
88
|
+
end
|
89
|
+
|
90
|
+
def read_int
|
91
|
+
size = 4
|
92
|
+
@position += 2
|
93
|
+
p = @position
|
94
|
+
@position += size
|
95
|
+
TypeDeserializer.deserialize_int(@buffer[p..p + size - 1])
|
96
|
+
end
|
97
|
+
|
98
|
+
def read_bool
|
99
|
+
size = 1
|
100
|
+
@position += 2
|
101
|
+
p = @position
|
102
|
+
@position += size
|
103
|
+
TypeDeserializer.deserialize_bool(@buffer[p..p + size])
|
104
|
+
end
|
105
|
+
|
106
|
+
def read_float
|
107
|
+
size = 4
|
108
|
+
@position += 2
|
109
|
+
p = @position
|
110
|
+
@position += size
|
111
|
+
TypeDeserializer.deserialize_float(@buffer[p..p + size - 1])
|
112
|
+
end
|
113
|
+
|
114
|
+
def read_byte
|
115
|
+
size = 1
|
116
|
+
@position += 2
|
117
|
+
p = @position
|
118
|
+
@position += size
|
119
|
+
TypeDeserializer.deserialize_byte(@buffer[p..p + size])
|
120
|
+
end
|
121
|
+
|
122
|
+
def read_char
|
123
|
+
size = 1
|
124
|
+
@position += 2
|
125
|
+
p = @position
|
126
|
+
@position += size
|
127
|
+
TypeDeserializer.deserialize_char(@buffer[p..p + size])
|
128
|
+
end
|
129
|
+
|
130
|
+
def read_longlong
|
131
|
+
size = 8
|
132
|
+
@position += 2
|
133
|
+
p = @position
|
134
|
+
@position += size
|
135
|
+
TypeDeserializer.deserialize_longlong(@buffer[p..p + size - 1])
|
136
|
+
end
|
137
|
+
|
138
|
+
def read_double
|
139
|
+
size = 8
|
140
|
+
@position += 2
|
141
|
+
p = @position
|
142
|
+
@position += size
|
143
|
+
TypeDeserializer.deserialize_double(@buffer[p..p + size - 1])
|
144
|
+
end
|
145
|
+
|
146
|
+
def read_ullong
|
147
|
+
size = 8
|
148
|
+
@position += 2
|
149
|
+
p = @position
|
150
|
+
@position += size
|
151
|
+
TypeDeserializer.deserialize_ullong(@buffer[p..p + size - 1])
|
152
|
+
end
|
153
|
+
|
154
|
+
def read_uint
|
155
|
+
size = 4
|
156
|
+
@position += 2
|
157
|
+
p = @position
|
158
|
+
@position += size
|
159
|
+
TypeDeserializer.deserialize_uint(@buffer[p..p + size - 1])
|
160
|
+
end
|
126
161
|
end
|
@@ -8,11 +8,10 @@ class CommandSerializer
|
|
8
8
|
@byte_buffer = []
|
9
9
|
end
|
10
10
|
|
11
|
-
|
12
|
-
def encode(root_command, connection_type = ConnectionType::IN_MEMORY, tcp_address = nil, runtimeVersion = 0)
|
11
|
+
def serialize(root_command, connection_type = ConnectionType::IN_MEMORY, tcp_address = nil, runtime_version = 0)
|
13
12
|
queue = []
|
14
13
|
queue.unshift(root_command)
|
15
|
-
self.insert_into_buffer([root_command.runtime_name,
|
14
|
+
self.insert_into_buffer([root_command.runtime_name, runtime_version])
|
16
15
|
if connection_type == ConnectionType::TCP
|
17
16
|
self.insert_into_buffer([ConnectionType::TCP])
|
18
17
|
self.insert_into_buffer(self.serialize_tcp(tcp_address))
|
@@ -22,50 +21,50 @@ class CommandSerializer
|
|
22
21
|
self.insert_into_buffer([0, 0, 0, 0, 0, 0])
|
23
22
|
end
|
24
23
|
self.insert_into_buffer([RuntimeName::RUBY, root_command.command_type])
|
25
|
-
|
24
|
+
self.serialize_recursively(queue)
|
26
25
|
end
|
27
26
|
|
28
27
|
def serialize_tcp(tcp_address)
|
29
28
|
if tcp_address.kind_of?(Array)
|
30
|
-
|
29
|
+
tcp_address
|
31
30
|
else
|
32
31
|
tcp_address_array = tcp_address.split(':')
|
33
32
|
tcp_address_ip = tcp_address_array[0].split('.')
|
34
33
|
tcp_address_port = tcp_address_array[1]
|
35
34
|
tcp_address_bytearray = []
|
36
|
-
|
35
|
+
tcp_address_ip.each { |address|
|
37
36
|
tcp_address_bytearray.concat([address.to_i])
|
38
|
-
|
37
|
+
}
|
39
38
|
port_byte = [tcp_address_port.to_i].pack("s_").bytes
|
40
39
|
tcp_address_bytearray.concat(port_byte)
|
41
|
-
|
42
|
-
|
40
|
+
tcp_address_bytearray
|
43
41
|
end
|
44
42
|
|
45
43
|
end
|
46
44
|
|
47
45
|
def serialize_primitive(payload_item)
|
48
|
-
if
|
49
|
-
|
50
|
-
|
46
|
+
if [true, false].include? payload_item
|
47
|
+
TypeSerializer.serialize_bool(payload_item)
|
48
|
+
elsif payload_item.is_a? Integer
|
49
|
+
if (-2 ** 31..2 ** 31).include?(payload_item)
|
50
|
+
return TypeSerializer.serialize_int(payload_item)
|
51
|
+
elsif (-2 ** 63..2 ** 63).include?(payload_item)
|
52
|
+
return TypeSerializer.serialize_longlong(payload_item)
|
53
|
+
else
|
54
|
+
return TypeSerializer.serialize_ullong(payload_item)
|
55
|
+
end
|
51
56
|
elsif payload_item.is_a? String
|
52
|
-
|
53
|
-
return serialized_string
|
57
|
+
TypeSerializer.serialize_string(payload_item)
|
54
58
|
elsif payload_item.is_a? Float
|
55
|
-
|
56
|
-
|
57
|
-
elsif [true,false].include? payload_item
|
58
|
-
serialized_bool = TypeSerializer.serialize_bool(payload_item)
|
59
|
-
return serialized_bool
|
59
|
+
TypeSerializer.serialize_double(payload_item)
|
60
|
+
elsif payload_item.is_a?
|
60
61
|
else
|
61
|
-
|
62
|
+
raise Exception.new("Payload not supported in command serializer")
|
62
63
|
end
|
63
64
|
end
|
64
65
|
|
65
66
|
def insert_into_buffer(arguments)
|
66
|
-
|
67
|
-
@byte_buffer = new_byte_buffer
|
68
|
-
|
67
|
+
@byte_buffer = @byte_buffer + arguments
|
69
68
|
end
|
70
69
|
|
71
70
|
def serialize_recursively(queue)
|
@@ -87,7 +86,7 @@ class CommandSerializer
|
|
87
86
|
else
|
88
87
|
queue.shift
|
89
88
|
end
|
90
|
-
|
89
|
+
self.serialize_recursively(queue)
|
91
90
|
end
|
92
91
|
|
93
92
|
end
|