javonet-ruby-sdk 2.1.11 → 2.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/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
|
|