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
@@ -15,12 +15,12 @@ class ArraySetItemHandler extends AbstractHandler {
|
|
15
15
|
}
|
16
16
|
|
17
17
|
let array = command.payload[0]
|
18
|
-
let value = command.payload[
|
18
|
+
let value = command.payload[2]
|
19
19
|
let indexes
|
20
|
-
if (Array.isArray(command.payload[
|
21
|
-
indexes = command.payload[
|
20
|
+
if (Array.isArray(command.payload[1])) {
|
21
|
+
indexes = command.payload[1]
|
22
22
|
} else {
|
23
|
-
indexes = command.payload
|
23
|
+
indexes = [command.payload[1]]
|
24
24
|
}
|
25
25
|
|
26
26
|
if (indexes.length === 1) {
|
@@ -16,7 +16,7 @@ class GetTypeHandler extends AbstractHandler {
|
|
16
16
|
let typeName = payload[0]
|
17
17
|
typeName = typeName.replace(".js", "")
|
18
18
|
let type = global[typeName]
|
19
|
-
if (type
|
19
|
+
if (type === undefined) {
|
20
20
|
throw new Error(`Cannot load ${typeName}`)
|
21
21
|
} else {
|
22
22
|
return type
|
@@ -1,21 +1,27 @@
|
|
1
1
|
const { Handler } = require('../handler/Handler')
|
2
|
-
const
|
3
|
-
const
|
2
|
+
const CommandSerializer = require('../protocol/CommandSerializer')
|
3
|
+
const CommandDeserializer = require('../protocol/CommandDeserializer')
|
4
4
|
const Runtime = require("../../utils/RuntimeName");
|
5
5
|
|
6
6
|
let Transmitter
|
7
|
+
let Receiver
|
7
8
|
|
8
9
|
class Interpreter {
|
9
10
|
handler = new Handler()
|
10
11
|
|
11
12
|
execute(command, connectionType, tcpAddress) {
|
12
|
-
let
|
13
|
-
let byteMessage =
|
13
|
+
let commandSerializer = new CommandSerializer()
|
14
|
+
let byteMessage = commandSerializer.serialize(command,connectionType, tcpAddress)
|
14
15
|
let responseByteArray
|
15
16
|
|
16
17
|
if (command.runtimeName === Runtime.Nodejs)
|
17
18
|
{
|
18
|
-
|
19
|
+
// lazy receiver loading
|
20
|
+
if (!Receiver) {
|
21
|
+
Receiver = require('../receiver/Receiver')
|
22
|
+
}
|
23
|
+
responseByteArray = Receiver.sendCommand(byteMessage)
|
24
|
+
|
19
25
|
}
|
20
26
|
else {
|
21
27
|
// lazy transmitter loading
|
@@ -23,14 +29,16 @@ class Interpreter {
|
|
23
29
|
Transmitter = require('../transmitter/Transmitter')
|
24
30
|
}
|
25
31
|
responseByteArray = Transmitter.sendCommand(byteMessage)
|
26
|
-
return new CommandDecoder(responseByteArray).decode()
|
27
32
|
}
|
33
|
+
return new CommandDeserializer(responseByteArray).deserialize()
|
28
34
|
}
|
29
35
|
|
30
36
|
process(byteArray) {
|
31
|
-
let
|
32
|
-
let
|
33
|
-
|
37
|
+
let commandDeserializer = new CommandDeserializer(byteArray)
|
38
|
+
let receivedCommand = commandDeserializer.deserialize()
|
39
|
+
let responseCommand = this.handler.handleCommand(receivedCommand)
|
40
|
+
let commandSerializer = new CommandSerializer()
|
41
|
+
return commandSerializer.serialize(responseCommand, 0, "0.0.0.0:0")
|
34
42
|
}
|
35
43
|
}
|
36
44
|
|
@@ -0,0 +1,160 @@
|
|
1
|
+
const TypeDeserializer = require("./TypeDeserializer")
|
2
|
+
const Command = require("../../utils/Command")
|
3
|
+
const Type = require("../../utils/Type")
|
4
|
+
const StringEncodingMode = require("../../utils/StringEncodingMode")
|
5
|
+
|
6
|
+
|
7
|
+
class CommandDeserializer {
|
8
|
+
constructor(buffer) {
|
9
|
+
this.buffer = buffer
|
10
|
+
this.command = new Command(
|
11
|
+
buffer[0],
|
12
|
+
buffer[10],
|
13
|
+
[]
|
14
|
+
)
|
15
|
+
this.position = 11
|
16
|
+
}
|
17
|
+
|
18
|
+
deserialize() {
|
19
|
+
while (!this.isAtEnd()) {
|
20
|
+
this.command = this.command.addArgToPayload((this.readObject(this.buffer[this.position])))
|
21
|
+
}
|
22
|
+
return this.command
|
23
|
+
}
|
24
|
+
|
25
|
+
isAtEnd() {
|
26
|
+
return this.position === this.buffer.length
|
27
|
+
}
|
28
|
+
|
29
|
+
readObject(typeNum) {
|
30
|
+
let type = Object.entries(Type).find(entry => entry[1] === typeNum)[0]
|
31
|
+
switch (type) {
|
32
|
+
case 'JAVONET_COMMAND':
|
33
|
+
return this.readCommand()
|
34
|
+
case 'JAVONET_STRING':
|
35
|
+
return this.readString()
|
36
|
+
case 'JAVONET_INTEGER':
|
37
|
+
return this.readInt()
|
38
|
+
case 'JAVONET_BOOLEAN':
|
39
|
+
return this.readBool();
|
40
|
+
case 'JAVONET_FLOAT':
|
41
|
+
return this.readFloat();
|
42
|
+
case 'JAVONET_BYTE':
|
43
|
+
return this.readByte();
|
44
|
+
case 'JAVONET_CHAR':
|
45
|
+
return this.readChar();
|
46
|
+
case 'JAVONET_LONG_LONG':
|
47
|
+
return this.readLongLong();
|
48
|
+
case 'JAVONET_DOUBLE':
|
49
|
+
return this.readDouble();
|
50
|
+
case 'JAVONET_UNSIGNED_LONG_LONG':
|
51
|
+
return this.readUllong
|
52
|
+
case 'JAVONET_UNSIGNED_INTEGER':
|
53
|
+
return this.readUInt()
|
54
|
+
default:
|
55
|
+
throw 'Unknown type - not supported in JavaScript'
|
56
|
+
}
|
57
|
+
}
|
58
|
+
|
59
|
+
readCommand() {
|
60
|
+
let p = this.position
|
61
|
+
let numberOfElementsInPayload = TypeDeserializer.deserializeInt(this.buffer.slice(p + 1, p + 5))
|
62
|
+
let runtime = this.buffer[p + 5]
|
63
|
+
let type = this.buffer[p + 6]
|
64
|
+
this.position += 7
|
65
|
+
let command = new Command(runtime, type, [])
|
66
|
+
return this.readCommandRecursively(numberOfElementsInPayload, command)
|
67
|
+
}
|
68
|
+
|
69
|
+
readCommandRecursively(numberOfElementsInPayloadLeft, cmd) {
|
70
|
+
if (numberOfElementsInPayloadLeft === 0) return cmd
|
71
|
+
let p = this.position
|
72
|
+
cmd = cmd.addArgToPayload(this.readObject(this.buffer[p]))
|
73
|
+
return this.readCommandRecursively(numberOfElementsInPayloadLeft - 1, cmd)
|
74
|
+
}
|
75
|
+
|
76
|
+
readString() {
|
77
|
+
let p = this.position
|
78
|
+
let stringEncodingMode = this.buffer[p + 1]
|
79
|
+
let size = TypeDeserializer.deserializeInt(this.buffer.slice(p + 2, p + 6))
|
80
|
+
this.position += 6
|
81
|
+
p = this.position
|
82
|
+
this.position += size
|
83
|
+
return TypeDeserializer.deserializeString(stringEncodingMode, this.buffer.slice(p, p + size))
|
84
|
+
|
85
|
+
}
|
86
|
+
|
87
|
+
readInt() {
|
88
|
+
let size = 4
|
89
|
+
this.position += 2
|
90
|
+
let p = this.position
|
91
|
+
this.position += size
|
92
|
+
return TypeDeserializer.deserializeInt(this.buffer.slice(p, p + size))
|
93
|
+
}
|
94
|
+
|
95
|
+
readBool() {
|
96
|
+
let size = 1
|
97
|
+
this.position += 2
|
98
|
+
let p = this.position
|
99
|
+
this.position += size
|
100
|
+
return TypeDeserializer.deserializeBool(this.buffer.slice(p, p + size))
|
101
|
+
}
|
102
|
+
|
103
|
+
readFloat() {
|
104
|
+
let size = 4
|
105
|
+
this.position += 2
|
106
|
+
let p = this.position
|
107
|
+
this.position += size
|
108
|
+
return TypeDeserializer.deserializeFloat(this.buffer.slice(p, p + size))
|
109
|
+
}
|
110
|
+
|
111
|
+
readByte() {
|
112
|
+
let size = 1
|
113
|
+
this.position += 2
|
114
|
+
let p = this.position
|
115
|
+
this.position += size
|
116
|
+
return TypeDeserializer.deserializeByte(this.buffer.slice(p, p + size))
|
117
|
+
}
|
118
|
+
|
119
|
+
readChar() {
|
120
|
+
let size = 1
|
121
|
+
this.position += 2
|
122
|
+
let p = this.position
|
123
|
+
this.position += size
|
124
|
+
return TypeDeserializer.deserializeChar(this.buffer.slice(p, p + size))
|
125
|
+
}
|
126
|
+
|
127
|
+
readLongLong() {
|
128
|
+
let size = 8
|
129
|
+
this.position += 2
|
130
|
+
let p = this.position
|
131
|
+
this.position += size
|
132
|
+
return TypeDeserializer.deserializeLongLong(this.buffer.slice(p, p + size))
|
133
|
+
}
|
134
|
+
|
135
|
+
readDouble() {
|
136
|
+
let size = 8
|
137
|
+
this.position += 2
|
138
|
+
let p = this.position
|
139
|
+
this.position += size
|
140
|
+
return TypeDeserializer.deserializeDouble(this.buffer.slice(p, p + size))
|
141
|
+
}
|
142
|
+
|
143
|
+
readUllong() {
|
144
|
+
let size = 8
|
145
|
+
this.position += 2
|
146
|
+
let p = this.position
|
147
|
+
this.position += size
|
148
|
+
return TypeDeserializer.deserializeULLong(this.buffer.slice(p, p + size))
|
149
|
+
}
|
150
|
+
|
151
|
+
readUInt() {
|
152
|
+
let size = 4
|
153
|
+
this.position += 2
|
154
|
+
let p = this.position
|
155
|
+
this.position += size
|
156
|
+
return TypeDeserializer.deserializeUInt(this.buffer.slice(p, p + size))
|
157
|
+
}
|
158
|
+
}
|
159
|
+
|
160
|
+
module.exports = CommandDeserializer
|
@@ -1,13 +1,13 @@
|
|
1
1
|
const Command = require("../../utils/Command")
|
2
|
-
const TypeEncoder = require('./
|
2
|
+
const TypeEncoder = require('./TypeSerializer')
|
3
3
|
const ConnectionType = require("../../utils/ConnectionType");
|
4
4
|
const Runtime = require('../../utils/RuntimeName')
|
5
5
|
|
6
|
-
class
|
6
|
+
class CommandSerializer {
|
7
7
|
buffer = new Int8Array(2)
|
8
8
|
encodedTcp;
|
9
9
|
|
10
|
-
|
10
|
+
serialize(command, connectionType, tcpConnectionData, runtimeVersion = 0) {
|
11
11
|
let deque = [command]
|
12
12
|
this.buffer[0] = command.runtimeName
|
13
13
|
this.buffer[1] = runtimeVersion
|
@@ -48,7 +48,7 @@ class CommandEncoder {
|
|
48
48
|
if (cmd.payload.length > 0) {
|
49
49
|
if (cmd.payload[0] instanceof Command) {
|
50
50
|
let innerCommand = cmd.payload[0]
|
51
|
-
this.#insertIntoBuffer(TypeEncoder.
|
51
|
+
this.#insertIntoBuffer(TypeEncoder.serializeCommand(innerCommand))
|
52
52
|
deque.push(innerCommand)
|
53
53
|
} else {
|
54
54
|
let result = TypeEncoder.encodePrimitive(cmd.payload[0])
|
@@ -69,4 +69,4 @@ class CommandEncoder {
|
|
69
69
|
}
|
70
70
|
}
|
71
71
|
|
72
|
-
module.exports =
|
72
|
+
module.exports = CommandSerializer
|
@@ -0,0 +1,77 @@
|
|
1
|
+
const Command = require('../../utils/Command')
|
2
|
+
const Type = require('../../utils/Type')
|
3
|
+
const StringEncodingMode = require('../../utils/StringEncodingMode')
|
4
|
+
const {TextDecoder} = require("util");
|
5
|
+
|
6
|
+
class TypeDeserializer {
|
7
|
+
static deserializeCommand(encodedCommand) {
|
8
|
+
return new Command(encodedCommand[0], encodedCommand[1], [])
|
9
|
+
}
|
10
|
+
|
11
|
+
static deserializeString(stringEncodingMode, encodedString) {
|
12
|
+
switch (stringEncodingMode) {
|
13
|
+
case StringEncodingMode.ASCII:
|
14
|
+
return String.fromCharCode(...encodedString)
|
15
|
+
case StringEncodingMode.UTF8:
|
16
|
+
let decoder = new TextDecoder('UTF-8');
|
17
|
+
return decoder.decode(new Uint8Array(encodedString))
|
18
|
+
case StringEncodingMode.UTF16:
|
19
|
+
let str = "";
|
20
|
+
let newBuffer = new Uint8Array(encodedString)
|
21
|
+
for (let i = 0; i < newBuffer.length; i++) {
|
22
|
+
newBuffer[i] = encodedString[i]
|
23
|
+
}
|
24
|
+
for (let i = 0; i < encodedString.length; i = i + 2) {
|
25
|
+
str += String.fromCharCode(newBuffer[i] + 256 * newBuffer[i + 1])
|
26
|
+
}
|
27
|
+
return str;
|
28
|
+
case StringEncodingMode.UTF32:
|
29
|
+
throw "Type utf32-encoded string not supported in JavaScript"
|
30
|
+
default:
|
31
|
+
throw "Unknown string encoding - not supported in JavaScript";
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
static deserializeInt(encodedInt) {
|
36
|
+
return (
|
37
|
+
(encodedInt[0] & 0xFF)
|
38
|
+
| ((encodedInt[1] & 0xFF) << 8)
|
39
|
+
| ((encodedInt[2] & 0xFF) << 16)
|
40
|
+
| ((encodedInt[3] & 0xFF) << 24)
|
41
|
+
)
|
42
|
+
}
|
43
|
+
|
44
|
+
static deserializeBool(encodedBool) {
|
45
|
+
return encodedBool[0] === 1
|
46
|
+
}
|
47
|
+
|
48
|
+
static deserializeFloat(encodedFloat) {
|
49
|
+
return Buffer.from(encodedFloat).readFloatLE()
|
50
|
+
}
|
51
|
+
|
52
|
+
static deserializeByte(encodedByte) {
|
53
|
+
return Buffer.from(encodedByte).readUint8()
|
54
|
+
}
|
55
|
+
|
56
|
+
static deserializeChar(encodedChar) {
|
57
|
+
return Buffer.from(encodedChar).readUint8()
|
58
|
+
}
|
59
|
+
|
60
|
+
static deserializeLongLong(encodedLongLong) {
|
61
|
+
return Buffer.from(encodedLongLong).readBigInt64LE()
|
62
|
+
}
|
63
|
+
|
64
|
+
static deserializeDouble(encodedDouble) {
|
65
|
+
return Buffer.from(encodedDouble).readDoubleLE()
|
66
|
+
}
|
67
|
+
|
68
|
+
static deserializeULLong(encodedULLong) {
|
69
|
+
return Buffer.from(encodedULLong).readBigUInt64LE()
|
70
|
+
}
|
71
|
+
|
72
|
+
static deserializeUInt(encodedUInt) {
|
73
|
+
return Buffer.from(encodedUInt).readUIntLE(0, 4)
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
module.exports = TypeDeserializer
|
@@ -0,0 +1,126 @@
|
|
1
|
+
const Command = require('../../utils/Command')
|
2
|
+
const Type = require('../../utils/Type')
|
3
|
+
const StringEncodingMode = require('../../utils/StringEncodingMode')
|
4
|
+
|
5
|
+
const util = require('util');
|
6
|
+
let encoder = new util.TextEncoder();
|
7
|
+
|
8
|
+
class TypeSerializer {
|
9
|
+
|
10
|
+
static encodePrimitive(payload_item) {
|
11
|
+
if (payload_item instanceof Command) {
|
12
|
+
return TypeSerializer.serializeCommand(payload_item)
|
13
|
+
} else if (typeof (payload_item) === 'number' || payload_item instanceof Number) {
|
14
|
+
if (Number.isInteger(payload_item)) {
|
15
|
+
return TypeSerializer.serializeInt(payload_item)
|
16
|
+
} else {
|
17
|
+
return TypeSerializer.serializeDouble(payload_item)
|
18
|
+
}
|
19
|
+
} else if (typeof (payload_item) === 'string' || payload_item instanceof String) {
|
20
|
+
return TypeSerializer.serializeString(payload_item)
|
21
|
+
} else if (typeof (payload_item) === 'boolean' || payload_item instanceof Boolean) {
|
22
|
+
return TypeSerializer.serializeBool(payload_item)
|
23
|
+
} else {
|
24
|
+
throw 'Unknown type - not supported in JavaScript'
|
25
|
+
}
|
26
|
+
}
|
27
|
+
|
28
|
+
static serializeCommand(command) {
|
29
|
+
const buffer = Buffer.alloc(7, command)
|
30
|
+
buffer.writeUInt8(Type.JAVONET_COMMAND, 0)
|
31
|
+
buffer.fill(Buffer.from(this.serializeIntValue(command.payload.length)), 1, 5)
|
32
|
+
buffer.writeUInt8(command.runtime, 5)
|
33
|
+
buffer.writeUInt8(command.commandType, 6)
|
34
|
+
return buffer
|
35
|
+
}
|
36
|
+
|
37
|
+
static serializeString(string_value) {
|
38
|
+
let bytes = encoder.encode(string_value)
|
39
|
+
const buffer = Buffer.alloc(6 + bytes.length)
|
40
|
+
buffer.writeUInt8(Type.JAVONET_STRING, 0)
|
41
|
+
buffer.writeUInt8(StringEncodingMode.UTF8, 1)
|
42
|
+
buffer.fill(Buffer.from(this.serializeIntValue(bytes.length)), 2, 6)
|
43
|
+
buffer.fill(Buffer.from(bytes), 6, 6 + bytes.length)
|
44
|
+
return buffer
|
45
|
+
}
|
46
|
+
|
47
|
+
static serializeInt(int_value) {
|
48
|
+
const buffer = Buffer.alloc(6)
|
49
|
+
buffer.writeUInt8(Type.JAVONET_INTEGER, 0)
|
50
|
+
buffer.writeUInt8(4, 1)
|
51
|
+
buffer.writeInt32LE(int_value, 2)
|
52
|
+
return buffer
|
53
|
+
}
|
54
|
+
|
55
|
+
static serializeBool(bool_value) {
|
56
|
+
const buffer = Buffer.alloc(3)
|
57
|
+
buffer.writeUInt8(Type.JAVONET_BOOLEAN, 0)
|
58
|
+
buffer.writeUInt8(1, 1)
|
59
|
+
buffer.writeUInt8(bool_value ? 1 : 0, 2)
|
60
|
+
return buffer
|
61
|
+
}
|
62
|
+
|
63
|
+
static serializeFloat(float_value) {
|
64
|
+
const buffer = Buffer.alloc(6)
|
65
|
+
buffer.writeUInt8(Type.JAVONET_FLOAT, 0)
|
66
|
+
buffer.writeUInt8(4, 1)
|
67
|
+
buffer.writeFloatLE(float_value, 2)
|
68
|
+
return buffer
|
69
|
+
}
|
70
|
+
|
71
|
+
static serializeByte(byte_value) {
|
72
|
+
const buffer = Buffer.alloc(3)
|
73
|
+
buffer.writeUInt8(Type.JAVONET_BYTE, 0)
|
74
|
+
buffer.writeUInt8(1, 1)
|
75
|
+
buffer.writeUInt8(byte_value, 2)
|
76
|
+
return buffer
|
77
|
+
}
|
78
|
+
|
79
|
+
static serializeChar(char_value) {
|
80
|
+
const buffer = Buffer.alloc(3)
|
81
|
+
buffer.writeUInt8(Type.JAVONET_CHAR, 0)
|
82
|
+
buffer.writeUInt8(1, 1)
|
83
|
+
buffer.writeUInt8(char_value, 2)
|
84
|
+
return buffer
|
85
|
+
}
|
86
|
+
|
87
|
+
static serializeLongLong(longlong_value) {
|
88
|
+
const buffer = Buffer.alloc(10)
|
89
|
+
buffer.writeUInt8(Type.JAVONET_LONG_LONG, 0)
|
90
|
+
buffer.writeUInt8(8, 1)
|
91
|
+
buffer.writeBigInt64LE(BigInt(longlong_value), 2)
|
92
|
+
return buffer
|
93
|
+
}
|
94
|
+
|
95
|
+
static serializeDouble(double_value) {
|
96
|
+
const buffer = Buffer.alloc(10)
|
97
|
+
buffer.writeUInt8(Type.JAVONET_DOUBLE, 0)
|
98
|
+
buffer.writeUInt8(8, 1)
|
99
|
+
buffer.writeDoubleLE(double_value, 2)
|
100
|
+
return buffer
|
101
|
+
}
|
102
|
+
|
103
|
+
static serializeULLong(ullong_value) {
|
104
|
+
const buffer = Buffer.alloc(10)
|
105
|
+
buffer.writeUInt8(Type.JAVONET_UNSIGNED_LONG_LONG, 0)
|
106
|
+
buffer.writeUInt8(8, 1)
|
107
|
+
buffer.writeBigUInt64LE(ullong_value, 2)
|
108
|
+
return buffer
|
109
|
+
}
|
110
|
+
|
111
|
+
static serializeUInt(uint_value) {
|
112
|
+
const buffer = Buffer.alloc(6)
|
113
|
+
buffer.writeUInt8(Type.JAVONET_UNSIGNED_INTEGER, 0)
|
114
|
+
buffer.writeUInt8(4, 1)
|
115
|
+
buffer.writeUInt32LE(uint_value, 2)
|
116
|
+
return buffer
|
117
|
+
}
|
118
|
+
|
119
|
+
static serializeIntValue(int_value) {
|
120
|
+
const buffer = Buffer.alloc(4)
|
121
|
+
buffer.writeInt32LE(int_value, 0)
|
122
|
+
return buffer
|
123
|
+
}
|
124
|
+
}
|
125
|
+
|
126
|
+
module.exports = TypeSerializer
|
@@ -1,12 +1,9 @@
|
|
1
1
|
const Interpreter = require('../interpreter/Interpreter')
|
2
|
-
const CommandEncoder = require('../protocol/CommandEncoder')
|
3
2
|
const interpreter = new Interpreter()
|
4
3
|
|
5
4
|
class Receiver {
|
6
5
|
static sendCommand(byteArray) {
|
7
|
-
|
8
|
-
let commandEncoder = new CommandEncoder()
|
9
|
-
return commandEncoder.encode(command, 0, 0)
|
6
|
+
return interpreter.process(byteArray)
|
10
7
|
}
|
11
8
|
static heartBeat(byteArray) {
|
12
9
|
return Int8Array.from([49, 48])
|
@@ -27,8 +27,10 @@ module.exports = {
|
|
27
27
|
SetInstanceField: 25,
|
28
28
|
InvokeGenericStaticMethod: 26,
|
29
29
|
InvokeGenericMethod: 27,
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
30
|
+
GetEnumItem: 28,
|
31
|
+
GetEnumName: 29,
|
32
|
+
GetEnumValue: 30,
|
33
|
+
AsRef: 31,
|
34
|
+
AsOut: 32,
|
35
|
+
GetRefValue: 33
|
34
36
|
}
|
@@ -1,8 +1,8 @@
|
|
1
|
-
use
|
1
|
+
use v5.12.0;
|
2
2
|
use warnings;
|
3
|
-
package Sub::Exporter::Util;
|
3
|
+
package Sub::Exporter::Util 0.991;
|
4
4
|
# ABSTRACT: utilities to make Sub::Exporter easier
|
5
|
-
|
5
|
+
|
6
6
|
use Data::OptList ();
|
7
7
|
use Params::Util ();
|
8
8
|
|
@@ -106,7 +106,7 @@ sub curry_chain {
|
|
106
106
|
|
107
107
|
for my $i (0 .. $#$pairs) {
|
108
108
|
my $pair = $pairs->[ $i ];
|
109
|
-
|
109
|
+
|
110
110
|
unless (Params::Util::_INVOCANT($next)) { ## no critic Private
|
111
111
|
my $str = defined $next ? "'$next'" : 'undef';
|
112
112
|
Carp::croak("can't call $pair->[0] on non-invocant $str")
|
@@ -125,19 +125,19 @@ sub curry_chain {
|
|
125
125
|
}
|
126
126
|
|
127
127
|
# =head2 name_map
|
128
|
-
#
|
128
|
+
#
|
129
129
|
# This utility returns an list to be used in specify export generators. For
|
130
130
|
# example, the following:
|
131
|
-
#
|
131
|
+
#
|
132
132
|
# exports => {
|
133
133
|
# name_map(
|
134
134
|
# '_?_gen' => [ qw(fee fie) ],
|
135
135
|
# '_make_?' => [ qw(foo bar) ],
|
136
136
|
# ),
|
137
137
|
# }
|
138
|
-
#
|
138
|
+
#
|
139
139
|
# is equivalent to:
|
140
|
-
#
|
140
|
+
#
|
141
141
|
# exports => {
|
142
142
|
# name_map(
|
143
143
|
# fee => \'_fee_gen',
|
@@ -146,26 +146,26 @@ sub curry_chain {
|
|
146
146
|
# bar => \'_make_bar',
|
147
147
|
# ),
|
148
148
|
# }
|
149
|
-
#
|
149
|
+
#
|
150
150
|
# This can save a lot of typing, when providing many exports with similarly-named
|
151
151
|
# generators.
|
152
|
-
#
|
152
|
+
#
|
153
153
|
# =cut
|
154
|
-
#
|
154
|
+
#
|
155
155
|
# sub name_map {
|
156
156
|
# my (%groups) = @_;
|
157
|
-
#
|
157
|
+
#
|
158
158
|
# my %map;
|
159
|
-
#
|
159
|
+
#
|
160
160
|
# while (my ($template, $names) = each %groups) {
|
161
161
|
# for my $name (@$names) {
|
162
162
|
# (my $export = $template) =~ s/\?/$name/
|
163
163
|
# or Carp::croak 'no ? found in name_map template';
|
164
|
-
#
|
164
|
+
#
|
165
165
|
# $map{ $name } = \$export;
|
166
166
|
# }
|
167
167
|
# }
|
168
|
-
#
|
168
|
+
#
|
169
169
|
# return %map;
|
170
170
|
# }
|
171
171
|
|
@@ -342,7 +342,7 @@ Sub::Exporter::Util - utilities to make Sub::Exporter easier
|
|
342
342
|
|
343
343
|
=head1 VERSION
|
344
344
|
|
345
|
-
version 0.
|
345
|
+
version 0.991
|
346
346
|
|
347
347
|
=head1 DESCRIPTION
|
348
348
|
|