hypertube-binaries 3.0.2 → 3.0.4
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.
- package/Binaries/Clr/Hypertube.Clr.Utils.dll +0 -0
- package/Binaries/Clr/HypertubeClrRuntime.dll +0 -0
- package/Binaries/Jvm/HypertubeJvmRuntime.jar +0 -0
- package/Binaries/Native/Linux/ARM64/NetVersionLatest.runtimeconfig.json +2 -2
- package/Binaries/Native/Linux/ARM64/_HypertubeNativeErrorLogger_2026-05-06.txt +124 -0
- package/Binaries/Native/Linux/ARM64/libConfigs.so +0 -0
- package/Binaries/Native/Linux/ARM64/libHypertubeActivationService.so +0 -0
- package/Binaries/Native/Linux/ARM64/libHypertubeCppRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libHypertubeGoRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libHypertubeJvmRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libHypertubeNetcoreRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libHypertubePhpRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libHypertubePythonRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libHypertubeRubyRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libHypertubeTcpClient.so +0 -0
- package/Binaries/Native/Linux/ARM64/libHypertubeTcpTlsClient.so +0 -0
- package/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
- package/Binaries/Native/Linux/ARM64/version.txt +1 -1
- package/Binaries/Native/Linux/X64/NetVersionLatest.runtimeconfig.json +2 -2
- package/Binaries/Native/Linux/X64/_HypertubeNativeErrorLogger_2026-05-06.txt +124 -0
- package/Binaries/Native/Linux/X64/libConfigs.so +0 -0
- package/Binaries/Native/Linux/X64/libHypertubeActivationService.so +0 -0
- package/Binaries/Native/Linux/X64/libHypertubeCppRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libHypertubeGoRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libHypertubeJvmRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libHypertubeNetcoreRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libHypertubeNodejs2218RuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libHypertubeNodejsRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libHypertubePhp848RuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libHypertubePhpRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libHypertubePythonRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libHypertubeRubyRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libHypertubeTcpClient.so +0 -0
- package/Binaries/Native/Linux/X64/libHypertubeTcpTlsClient.so +0 -0
- package/Binaries/Native/Linux/X64/libUtils.so +0 -0
- package/Binaries/Native/Linux/X64/version.txt +1 -1
- package/Binaries/Native/MacOs/ARM64/NetVersionLatest.runtimeconfig.json +2 -2
- package/Binaries/Native/MacOs/ARM64/_HypertubeNativeErrorLogger_2026-05-06.txt +124 -0
- package/Binaries/Native/MacOs/ARM64/libConfigs.dylib +0 -0
- package/Binaries/Native/MacOs/ARM64/libHypertubeActivationService.dylib +0 -0
- package/Binaries/Native/MacOs/ARM64/libHypertubeCppRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/ARM64/libHypertubeGoRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/ARM64/libHypertubeJvmRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/ARM64/libHypertubeNetcoreRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/ARM64/libHypertubeNodejs2218RuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/ARM64/libHypertubeNodejsRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/ARM64/libHypertubePythonRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/ARM64/libHypertubeRubyRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/ARM64/libHypertubeTcpClient.dylib +0 -0
- package/Binaries/Native/MacOs/ARM64/libHypertubeTcpTlsClient.dylib +0 -0
- package/Binaries/Native/MacOs/ARM64/libUtils.dylib +0 -0
- package/Binaries/Native/MacOs/ARM64/version.txt +1 -1
- package/Binaries/Native/MacOs/X64/NetVersionLatest.runtimeconfig.json +2 -2
- package/Binaries/Native/MacOs/X64/_HypertubeNativeErrorLogger_2026-05-06.txt +124 -0
- package/Binaries/Native/MacOs/X64/libConfigs.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libHypertubeActivationService.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libHypertubeCppRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libHypertubeGoRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libHypertubeJvmRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libHypertubeNetcoreRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libHypertubeNodejs2218RuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libHypertubeNodejsRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libHypertubePhp848RuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libHypertubePhpRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libHypertubePythonRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libHypertubeRubyRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libHypertubeTcpClient.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libHypertubeTcpTlsClient.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
- package/Binaries/Native/MacOs/X64/version.txt +1 -1
- package/Binaries/Native/Windows/ARM64/Configs.dll +0 -0
- package/Binaries/Native/Windows/ARM64/HypertubeActivationService.dll +0 -0
- package/Binaries/Native/Windows/ARM64/HypertubeCppRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/HypertubeGoRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/HypertubeJvmRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/HypertubeNetcoreRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/HypertubePhpRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/HypertubePythonRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/HypertubeRubyRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/HypertubeTcpClient.dll +0 -0
- package/Binaries/Native/Windows/ARM64/HypertubeTcpTlsClient.dll +0 -0
- package/Binaries/Native/Windows/ARM64/NetVersionLatest.runtimeconfig.json +2 -2
- package/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
- package/Binaries/Native/Windows/ARM64/_HypertubeNativeErrorLogger_2026-05-06.txt +124 -0
- package/Binaries/Native/Windows/ARM64/version.txt +0 -0
- package/Binaries/Native/Windows/X64/Configs.dll +0 -0
- package/Binaries/Native/Windows/X64/HypertubeActivationService.dll +0 -0
- package/Binaries/Native/Windows/X64/HypertubeClrRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/HypertubeCppRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/HypertubeGoRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/HypertubeJvmRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/HypertubeNetcoreRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/HypertubeNodejs2218RuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/HypertubeNodejsRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/HypertubePhp848RuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/HypertubePhpRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/HypertubePythonRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/HypertubeRubyRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/HypertubeTcpClient.dll +0 -0
- package/Binaries/Native/Windows/X64/HypertubeTcpTlsClient.dll +0 -0
- package/Binaries/Native/Windows/X64/NetVersionLatest.runtimeconfig.json +2 -2
- package/Binaries/Native/Windows/X64/Utils.dll +0 -0
- package/Binaries/Native/Windows/X64/_HypertubeNativeErrorLogger_2026-05-06.txt +124 -0
- package/Binaries/Native/Windows/X64/version.txt +1 -1
- package/Binaries/Netcore/Hypertube.Netcore.Core.dll +0 -0
- package/Binaries/Netcore/Hypertube.Netcore.Plugins.dll +0 -0
- package/Binaries/Netcore/Hypertube.Netcore.Utils.dll +0 -0
- package/Binaries/Php/hypertube/core/delegatecache/DelegatesCache.php +62 -62
- package/Binaries/Php/hypertube/core/handler/AbstractHandler.php +61 -61
- package/Binaries/Php/hypertube/core/handler/AddEventListenerHandler.php +16 -16
- package/Binaries/Php/hypertube/core/handler/ArrayGetItemHandler.php +57 -57
- package/Binaries/Php/hypertube/core/handler/ArrayGetRankHandler.php +50 -50
- package/Binaries/Php/hypertube/core/handler/ArrayGetSizeHandler.php +59 -59
- package/Binaries/Php/hypertube/core/handler/ArrayHandler.php +26 -26
- package/Binaries/Php/hypertube/core/handler/ArrayReferenceHandler.php +16 -16
- package/Binaries/Php/hypertube/core/handler/ArraySetItemHandler.php +87 -87
- package/Binaries/Php/hypertube/core/handler/AsDtoHandler.php +18 -18
- package/Binaries/Php/hypertube/core/handler/AsKwargsHandler.php +19 -19
- package/Binaries/Php/hypertube/core/handler/AsOutHandler.php +19 -19
- package/Binaries/Php/hypertube/core/handler/AsRefHandler.php +20 -20
- package/Binaries/Php/hypertube/core/handler/CastHandler.php +93 -93
- package/Binaries/Php/hypertube/core/handler/ContextMetadataHandler.php +20 -0
- package/Binaries/Php/hypertube/core/handler/ConvertTypeHandler.php +20 -20
- package/Binaries/Php/hypertube/core/handler/CreateInstanceHandler.php +98 -98
- package/Binaries/Php/hypertube/core/handler/CreateNullHandler.php +16 -16
- package/Binaries/Php/hypertube/core/handler/DestructReferenceHandler.php +29 -29
- package/Binaries/Php/hypertube/core/handler/DtoPropertyHandler.php +18 -18
- package/Binaries/Php/hypertube/core/handler/EnableNamespaceHandler.php +36 -36
- package/Binaries/Php/hypertube/core/handler/EnableTypeHandler.php +33 -33
- package/Binaries/Php/hypertube/core/handler/ExceptionHandler.php +16 -16
- package/Binaries/Php/hypertube/core/handler/GenerateLibHandler.php +16 -16
- package/Binaries/Php/hypertube/core/handler/GetAsyncOperationResultHandler.php +16 -16
- package/Binaries/Php/hypertube/core/handler/GetEnumItemHandler.php +16 -16
- package/Binaries/Php/hypertube/core/handler/GetEnumNameHandler.php +16 -16
- package/Binaries/Php/hypertube/core/handler/GetEnumValueHandler.php +16 -16
- package/Binaries/Php/hypertube/core/handler/GetGlobalFieldHandler.php +16 -16
- package/Binaries/Php/hypertube/core/handler/GetInstanceFieldHandler.php +55 -55
- package/Binaries/Php/hypertube/core/handler/GetInstanceMethodAsDelegateHandler.php +52 -52
- package/Binaries/Php/hypertube/core/handler/GetModuleHandler.php +15 -15
- package/Binaries/Php/hypertube/core/handler/GetRefValueHandler.php +16 -16
- package/Binaries/Php/hypertube/core/handler/GetResultTypeHandler.php +16 -16
- package/Binaries/Php/hypertube/core/handler/GetStaticFieldHandler.php +81 -81
- package/Binaries/Php/hypertube/core/handler/GetStaticMethodAsDelegateHandler.php +109 -109
- package/Binaries/Php/hypertube/core/handler/GetTypeHandler.php +146 -146
- package/Binaries/Php/hypertube/core/handler/Handler.php +176 -175
- package/Binaries/Php/hypertube/core/handler/HeartBeatHandler.php +20 -20
- package/Binaries/Php/hypertube/core/handler/InvokeDelegateHandler.php +27 -27
- package/Binaries/Php/hypertube/core/handler/InvokeGenericMethodHandler.php +47 -47
- package/Binaries/Php/hypertube/core/handler/InvokeGenericStaticMethodHandler.php +111 -111
- package/Binaries/Php/hypertube/core/handler/InvokeGlobalFunctionHandler.php +48 -48
- package/Binaries/Php/hypertube/core/handler/InvokeInstanceMethodHandler.php +78 -78
- package/Binaries/Php/hypertube/core/handler/InvokeStaticMethodHandler.php +95 -95
- package/Binaries/Php/hypertube/core/handler/LoadLibraryHandler.php +360 -360
- package/Binaries/Php/hypertube/core/handler/OptimizeHandler.php +16 -16
- package/Binaries/Php/hypertube/core/handler/PassByValueHandler.php +103 -103
- package/Binaries/Php/hypertube/core/handler/PassDelegateHandler.php +58 -58
- package/Binaries/Php/hypertube/core/handler/PluginWrapperHandler.php +15 -15
- package/Binaries/Php/hypertube/core/handler/ProjectResultAsDtoHandler.php +68 -68
- package/Binaries/Php/hypertube/core/handler/RegisterForUpdateHandler.php +65 -65
- package/Binaries/Php/hypertube/core/handler/ResolveInstanceHandler.php +27 -27
- package/Binaries/Php/hypertube/core/handler/RetrieveArrayHandler.php +48 -48
- package/Binaries/Php/hypertube/core/handler/SetInstanceFieldHandler.php +54 -54
- package/Binaries/Php/hypertube/core/handler/SetStaticFieldHandler.php +56 -56
- package/Binaries/Php/hypertube/core/handler/ValueForUpdateHandler.php +20 -20
- package/Binaries/Php/hypertube/core/handler/ValueHandler.php +18 -18
- package/Binaries/Php/hypertube/core/handler/loadLibrary/ClasspathScanner.php +66 -66
- package/Binaries/Php/hypertube/core/http2Client/Http2Client.php +50 -0
- package/Binaries/Php/hypertube/core/interpreter/Interpreter.php +126 -123
- package/Binaries/Php/hypertube/core/namespacescache/NamespacesCache.php +88 -88
- package/Binaries/Php/hypertube/core/protocol/CommandDeserializer.php +337 -337
- package/Binaries/Php/hypertube/core/protocol/CommandSerializer.php +112 -112
- package/Binaries/Php/hypertube/core/protocol/TypeDeserializer.php +102 -102
- package/Binaries/Php/hypertube/core/protocol/TypeSerializer.php +188 -188
- package/Binaries/Php/hypertube/core/receiver/Receiver.php +45 -45
- package/Binaries/Php/hypertube/core/referencecache/ReferencesCache.php +68 -68
- package/Binaries/Php/hypertube/core/transmitter/Transmitter.php +47 -47
- package/Binaries/Php/hypertube/core/transmitter/TransmitterWrapper.php +181 -181
- package/Binaries/Php/hypertube/core/typescache/TypesCache.php +60 -60
- package/Binaries/Php/hypertube/core/webSocketClient/WebSocketClient.php +626 -620
- package/Binaries/Php/hypertube/utils/ArrayWrapper.php +122 -122
- package/Binaries/Php/hypertube/utils/Command.php +265 -265
- package/Binaries/Php/hypertube/utils/CommandInterface.php +23 -23
- package/Binaries/Php/hypertube/utils/DynamicMethodFactory.php +93 -93
- package/Binaries/Php/hypertube/utils/Enum.php +87 -87
- package/Binaries/Php/hypertube/utils/ExceptionSerializer.php +81 -81
- package/Binaries/Php/hypertube/utils/RuntimeLogger.php +44 -44
- package/Binaries/Php/hypertube/utils/RuntimeName.php +21 -21
- package/Binaries/Php/hypertube/utils/RuntimeNameHandler.php +72 -72
- package/Binaries/Php/hypertube/utils/StringEncodingMode.php +12 -12
- package/Binaries/Php/hypertube/utils/TypesHandler.php +47 -47
- package/Binaries/Php/hypertube/utils/Uri.php +138 -138
- package/Binaries/Php/hypertube/utils/UtilsArray.php +16 -16
- package/Binaries/Php/hypertube/utils/UtilsConst.php +75 -75
- package/Binaries/Php/hypertube/utils/UtilsSimpleType.php +48 -48
- package/Binaries/Php/hypertube/utils/Uuid.php +47 -47
- package/Binaries/Php/hypertube/utils/connectiondata/ConnectionData.php +84 -0
- package/Binaries/Php/hypertube/utils/connectiondata/Http2ConnectionData.php +43 -0
- package/Binaries/Php/hypertube/utils/connectiondata/IConnectionData.php +19 -15
- package/Binaries/Php/hypertube/utils/connectiondata/InMemoryConnectionData.php +25 -35
- package/Binaries/Php/hypertube/utils/connectiondata/TcpConnectionData.php +91 -77
- package/Binaries/Php/hypertube/utils/connectiondata/WsConnectionData.php +43 -43
- package/Binaries/Php/hypertube/utils/error/UnsupportedPayloadItemTypeError.php +19 -19
- package/Binaries/Php/hypertube/utils/exception/BadMethodCallException.php +14 -14
- package/Binaries/Php/hypertube/utils/exception/DelegateNotFoundException.php +14 -14
- package/Binaries/Php/hypertube/utils/exception/ExceptionThrower.php +121 -121
- package/Binaries/Php/hypertube/utils/exception/FieldNotFoundInClassException.php +41 -41
- package/Binaries/Php/hypertube/utils/exception/HypertubeArgumentsMismatchException.php +17 -17
- package/Binaries/Php/hypertube/utils/exception/InvalidUriException.php +14 -14
- package/Binaries/Php/hypertube/utils/exception/SingletonUnserializeException.php +15 -15
- package/Binaries/Php/hypertube/utils/exception/TypeByteNotSupportedException.php +14 -14
- package/Binaries/Php/hypertube/utils/exception/TypeNotSupportedException.php +16 -16
- package/Binaries/Php/hypertube/utils/exception/TypeSerializationNotSupportedException.php +18 -18
- package/Binaries/Php/hypertube/utils/exception/UnsupportedOperationException.php +10 -10
- package/Binaries/Php/hypertube/utils/exception/enum/EnumNameNotFoundException.php +15 -15
- package/Binaries/Php/hypertube/utils/exception/enum/InvalidEnumValueException.php +15 -15
- package/Binaries/Php/hypertube/utils/messagehelper/MessageHelper.php +102 -102
- package/Binaries/Php/hypertube/utils/type/CommandType.php +67 -66
- package/Binaries/Php/hypertube/utils/type/ConnectionType.php +15 -14
- package/Binaries/Php/hypertube/utils/type/ExceptionType.php +45 -45
- package/Binaries/Php/hypertube/utils/type/JType.php +24 -24
- package/Binaries/Php/hypertube/utils/type/SizeType.php +22 -22
- package/Binaries/Python/hypertube/core/handler/ContextMetadataHandler.py +7 -0
- package/Binaries/Python/hypertube/core/handler/Handler.py +2 -0
- package/Binaries/Python/hypertube/core/http2Client/Http2Client.py +332 -0
- package/Binaries/Python/hypertube/core/interpreter/Interpreter.py +4 -1
- package/Binaries/Python/hypertube/core/webSocketClient/WebSocketClient.py +88 -26
- package/Binaries/Python/hypertube/utils/CommandType.py +2 -1
- package/Binaries/Python/hypertube/utils/ConnectionType.py +1 -0
- package/Binaries/Python/hypertube/utils/connectionData/Http2ConnectionData.py +36 -0
- package/Binaries/Python/hypertube/utils/connectionData/IConnectionData.py +38 -0
- package/Binaries/Python/hypertube/utils/connectionData/InMemoryConnectionData.py +4 -12
- package/Binaries/Python/hypertube/utils/connectionData/TcpConnectionData.py +29 -16
- package/Binaries/Python/hypertube/utils/connectionData/WsConnectionData.py +14 -12
- package/Binaries/Python/hypertube/utils/messageHelper/MessageHelper.py +20 -15
- package/Binaries/Ruby/core/handler/context_metadata_handler.rb +11 -0
- package/Binaries/Ruby/core/handler/handler.rb +3 -0
- package/Binaries/Ruby/core/http2_client/http2_client.rb +69 -0
- package/Binaries/Ruby/core/interpreter/interpreter.rb +7 -4
- package/Binaries/Ruby/core/web_socket_client/web_socket_client.rb +43 -26
- package/Binaries/Ruby/utils/command_type.rb +3 -0
- package/Binaries/Ruby/utils/connection_type.rb +1 -0
- package/Binaries/Ruby/utils/http2_connection_data.rb +59 -0
- package/Binaries/Ruby/utils/tcp_connection_data.rb +61 -9
- package/Binaries/Ruby/utils/ws_connection_data.rb +40 -6
- package/Binaries/version.txt +1 -1
- package/package.json +1 -1
- package/prebuilds/prebuilds-darwin-arm64/HypertubeNodejsRuntimeAddon.node +0 -0
- package/prebuilds/prebuilds-darwin-x64/HypertubeNodejsRuntimeAddon.node +0 -0
- package/prebuilds/prebuilds-win32-arm64/HypertubeNodejsRuntimeAddon.node +0 -0
- package/prebuilds/prebuilds-win32-x64/HypertubeNodejsRuntimeAddon.node +0 -0
- package/Binaries/Native/Linux/ARM64/NetVersion31LatestPatch.runtimeconfig.json +0 -10
- package/Binaries/Native/Linux/ARM64/NetVersion60LatestPatch.runtimeconfig.json +0 -10
- package/Binaries/Native/Linux/ARM64/NetVersion70LatestPatch.runtimeconfig.json +0 -10
- package/Binaries/Native/Linux/ARM64/_HypertubeNativeErrorLogger_2026-04-17.txt +0 -2
- package/Binaries/Native/Linux/X64/NetVersion31LatestPatch.runtimeconfig.json +0 -10
- package/Binaries/Native/Linux/X64/NetVersion60LatestPatch.runtimeconfig.json +0 -10
- package/Binaries/Native/Linux/X64/NetVersion70LatestPatch.runtimeconfig.json +0 -10
- package/Binaries/Native/Linux/X64/_HypertubeNativeErrorLogger_2026-04-17.txt +0 -2
- package/Binaries/Native/MacOs/ARM64/NetVersion31LatestPatch.runtimeconfig.json +0 -10
- package/Binaries/Native/MacOs/ARM64/NetVersion60LatestPatch.runtimeconfig.json +0 -10
- package/Binaries/Native/MacOs/ARM64/NetVersion70LatestPatch.runtimeconfig.json +0 -10
- package/Binaries/Native/MacOs/ARM64/_HypertubeNativeErrorLogger_2026-04-17.txt +0 -2
- package/Binaries/Native/MacOs/X64/NetVersion31LatestPatch.runtimeconfig.json +0 -10
- package/Binaries/Native/MacOs/X64/NetVersion60LatestPatch.runtimeconfig.json +0 -10
- package/Binaries/Native/MacOs/X64/NetVersion70LatestPatch.runtimeconfig.json +0 -10
- package/Binaries/Native/MacOs/X64/_HypertubeNativeErrorLogger_2026-04-17.txt +0 -2
- package/Binaries/Native/Windows/ARM64/NetVersion31LatestPatch.runtimeconfig.json +0 -10
- package/Binaries/Native/Windows/ARM64/NetVersion60LatestPatch.runtimeconfig.json +0 -10
- package/Binaries/Native/Windows/ARM64/NetVersion70LatestPatch.runtimeconfig.json +0 -10
- package/Binaries/Native/Windows/ARM64/_HypertubeNativeErrorLogger_2026-04-17.txt +0 -2
- package/Binaries/Native/Windows/X64/NetVersion31LatestPatch.runtimeconfig.json +0 -10
- package/Binaries/Native/Windows/X64/NetVersion60LatestPatch.runtimeconfig.json +0 -10
- package/Binaries/Native/Windows/X64/NetVersion70LatestPatch.runtimeconfig.json +0 -10
- package/Binaries/Native/Windows/X64/_HypertubeNativeErrorLogger_2026-04-17.txt +0 -2
|
@@ -1,175 +1,176 @@
|
|
|
1
|
-
<?php
|
|
2
|
-
|
|
3
|
-
declare(strict_types=1);
|
|
4
|
-
|
|
5
|
-
namespace core\handler;
|
|
6
|
-
|
|
7
|
-
use core\referencecache\ReferencesCache;
|
|
8
|
-
use Throwable;
|
|
9
|
-
use utils\Command;
|
|
10
|
-
use utils\CommandInterface;
|
|
11
|
-
use utils\ExceptionSerializer;
|
|
12
|
-
use utils\RuntimeName;
|
|
13
|
-
use utils\type\CommandType;
|
|
14
|
-
use utils\TypesHandler;
|
|
15
|
-
use utils\ArrayWrapper;
|
|
16
|
-
|
|
17
|
-
final class Handler
|
|
18
|
-
{
|
|
19
|
-
private static array $handlers = [];
|
|
20
|
-
|
|
21
|
-
private function __construct()
|
|
22
|
-
{
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
private static function initializeHandlers(): void
|
|
26
|
-
{
|
|
27
|
-
if (!empty(self::$handlers)) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
self::$handlers[CommandType::VALUE()->getValue()] = new ValueHandler();
|
|
32
|
-
self::$handlers[CommandType::LOAD_LIBRARY()->getValue()] = new LoadLibraryHandler();
|
|
33
|
-
self::$handlers[CommandType::INVOKE_STATIC_METHOD()->getValue()] = new InvokeStaticMethodHandler();
|
|
34
|
-
self::$handlers[CommandType::GET_STATIC_FIELD()->getValue()] = new GetStaticFieldHandler();
|
|
35
|
-
self::$handlers[CommandType::SET_STATIC_FIELD()->getValue()] = new SetStaticFieldHandler();
|
|
36
|
-
self::$handlers[CommandType::CREATE_INSTANCE()->getValue()] = new CreateInstanceHandler();
|
|
37
|
-
self::$handlers[CommandType::GET_TYPE()->getValue()] = new GetTypeHandler();
|
|
38
|
-
self::$handlers[CommandType::REFERENCE()->getValue()] = new ResolveInstanceHandler();
|
|
39
|
-
self::$handlers[CommandType::GET_MODULE()->getValue()] = new GetModuleHandler();
|
|
40
|
-
self::$handlers[CommandType::INVOKE_INSTANCE_METHOD()->getValue()] = new InvokeInstanceMethodHandler();
|
|
41
|
-
self::$handlers[CommandType::EXCEPTION()->getValue()] = new ExceptionHandler();
|
|
42
|
-
self::$handlers[CommandType::HEART_BEAT()->getValue()] = new HeartBeatHandler();
|
|
43
|
-
self::$handlers[CommandType::CAST()->getValue()] = new CastHandler();
|
|
44
|
-
self::$handlers[CommandType::GET_INSTANCE_FIELD()->getValue()] = new GetInstanceFieldHandler();
|
|
45
|
-
self::$handlers[CommandType::OPTIMIZE()->getValue()] = new OptimizeHandler();
|
|
46
|
-
self::$handlers[CommandType::GENERATE_LIB()->getValue()] = new GenerateLibHandler();
|
|
47
|
-
self::$handlers[CommandType::INVOKE_GLOBAL_FUNCTION()->getValue()] = new InvokeGlobalFunctionHandler();
|
|
48
|
-
self::$handlers[CommandType::DESTRUCT_REFERENCE()->getValue()] = new DestructReferenceHandler();
|
|
49
|
-
self::$handlers[CommandType::ARRAY_REFERENCE()->getValue()] = new ArrayReferenceHandler();
|
|
50
|
-
self::$handlers[CommandType::ARRAY_GET_ITEM()->getValue()] = new ArrayGetItemHandler();
|
|
51
|
-
self::$handlers[CommandType::ARRAY_GET_SIZE()->getValue()] = new ArrayGetSizeHandler();
|
|
52
|
-
self::$handlers[CommandType::ARRAY_GET_RANK()->getValue()] = new ArrayGetRankHandler();
|
|
53
|
-
self::$handlers[CommandType::ARRAY_SET_ITEM()->getValue()] = new ArraySetItemHandler();
|
|
54
|
-
self::$handlers[CommandType::ARRAY()->getValue()] = new ArrayHandler();
|
|
55
|
-
self::$handlers[CommandType::RETRIEVE_ARRAY()->getValue()] = new RetrieveArrayHandler();
|
|
56
|
-
self::$handlers[CommandType::SET_INSTANCE_FIELD()->getValue()] = new SetInstanceFieldHandler();
|
|
57
|
-
self::$handlers[CommandType::INVOKE_GENERIC_STATIC_METHOD()->getValue()] = new InvokeGenericStaticMethodHandler();
|
|
58
|
-
self::$handlers[CommandType::INVOKE_GENERIC_METHOD()->getValue()] = new InvokeGenericMethodHandler();
|
|
59
|
-
self::$handlers[CommandType::GET_ENUM_ITEM()->getValue()] = new GetEnumItemHandler();
|
|
60
|
-
self::$handlers[CommandType::GET_ENUM_NAME()->getValue()] = new GetEnumNameHandler();
|
|
61
|
-
self::$handlers[CommandType::GET_ENUM_VALUE()->getValue()] = new GetEnumValueHandler();
|
|
62
|
-
self::$handlers[CommandType::AS_REF()->getValue()] = new AsRefHandler();
|
|
63
|
-
self::$handlers[CommandType::AS_OUT()->getValue()] = new AsOutHandler();
|
|
64
|
-
self::$handlers[CommandType::GET_REF_VALUE()->getValue()] = new GetRefValueHandler();
|
|
65
|
-
self::$handlers[CommandType::ENABLE_NAMESPACE()->getValue()] = new EnableNamespaceHandler();
|
|
66
|
-
self::$handlers[CommandType::ENABLE_TYPE()->getValue()] = new EnableTypeHandler();
|
|
67
|
-
self::$handlers[CommandType::CREATE_NULL()->getValue()] = new CreateNullHandler();
|
|
68
|
-
self::$handlers[CommandType::GET_STATIC_METHOD_AS_DELEGATE()->getValue()] = new GetStaticMethodAsDelegateHandler();
|
|
69
|
-
self::$handlers[CommandType::GET_INSTANCE_METHOD_AS_DELEGATE()->getValue()] = new GetInstanceMethodAsDelegateHandler();
|
|
70
|
-
self::$handlers[CommandType::PASS_DELEGATE()->getValue()] = new PassDelegateHandler();
|
|
71
|
-
self::$handlers[CommandType::INVOKE_DELEGATE()->getValue()] = new InvokeDelegateHandler();
|
|
72
|
-
self::$handlers[CommandType::CONVERT_TYPE()->getValue()] = new ConvertTypeHandler();
|
|
73
|
-
self::$handlers[CommandType::ADD_EVENT_LISTENER()->getValue()] = new AddEventListenerHandler();
|
|
74
|
-
self::$handlers[CommandType::PLUGIN_WRAPPER()->getValue()] = new PluginWrapperHandler();
|
|
75
|
-
self::$handlers[CommandType::GET_ASYNC_OPERATION_RESULT()->getValue()] = new GetAsyncOperationResultHandler();
|
|
76
|
-
self::$handlers[CommandType::AS_KWARGS()->getValue()] = new AsKwargsHandler();
|
|
77
|
-
self::$handlers[CommandType::GET_RESULT_TYPE()->getValue()] = new GetResultTypeHandler();
|
|
78
|
-
self::$handlers[CommandType::GET_GLOBAL_FIELD()->getValue()] = new GetGlobalFieldHandler();
|
|
79
|
-
self::$handlers[CommandType::REGISTER_FOR_UPDATE()->getValue()] = new RegisterForUpdateHandler();
|
|
80
|
-
self::$handlers[CommandType::VALUE_FOR_UPDATE()->getValue()] = new ValueForUpdateHandler();
|
|
81
|
-
self::$handlers[CommandType::AS_DTO()->getValue()] = new AsDtoHandler();
|
|
82
|
-
self::$handlers[CommandType::DTO_PROPERTY()->getValue()] = new DtoPropertyHandler();
|
|
83
|
-
self::$handlers[CommandType::PROJECT_RESULT_AS_DTO()->getValue()] = new ProjectResultAsDtoHandler();
|
|
84
|
-
self::$handlers[CommandType::PASS_BY_VALUE()->getValue()] = new PassByValueHandler();
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
$
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
$
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
(
|
|
147
|
-
$
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
(
|
|
163
|
-
$
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
}
|
|
1
|
+
<?php
|
|
2
|
+
|
|
3
|
+
declare(strict_types=1);
|
|
4
|
+
|
|
5
|
+
namespace core\handler;
|
|
6
|
+
|
|
7
|
+
use core\referencecache\ReferencesCache;
|
|
8
|
+
use Throwable;
|
|
9
|
+
use utils\Command;
|
|
10
|
+
use utils\CommandInterface;
|
|
11
|
+
use utils\ExceptionSerializer;
|
|
12
|
+
use utils\RuntimeName;
|
|
13
|
+
use utils\type\CommandType;
|
|
14
|
+
use utils\TypesHandler;
|
|
15
|
+
use utils\ArrayWrapper;
|
|
16
|
+
|
|
17
|
+
final class Handler
|
|
18
|
+
{
|
|
19
|
+
private static array $handlers = [];
|
|
20
|
+
|
|
21
|
+
private function __construct()
|
|
22
|
+
{
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
private static function initializeHandlers(): void
|
|
26
|
+
{
|
|
27
|
+
if (!empty(self::$handlers)) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
self::$handlers[CommandType::VALUE()->getValue()] = new ValueHandler();
|
|
32
|
+
self::$handlers[CommandType::LOAD_LIBRARY()->getValue()] = new LoadLibraryHandler();
|
|
33
|
+
self::$handlers[CommandType::INVOKE_STATIC_METHOD()->getValue()] = new InvokeStaticMethodHandler();
|
|
34
|
+
self::$handlers[CommandType::GET_STATIC_FIELD()->getValue()] = new GetStaticFieldHandler();
|
|
35
|
+
self::$handlers[CommandType::SET_STATIC_FIELD()->getValue()] = new SetStaticFieldHandler();
|
|
36
|
+
self::$handlers[CommandType::CREATE_INSTANCE()->getValue()] = new CreateInstanceHandler();
|
|
37
|
+
self::$handlers[CommandType::GET_TYPE()->getValue()] = new GetTypeHandler();
|
|
38
|
+
self::$handlers[CommandType::REFERENCE()->getValue()] = new ResolveInstanceHandler();
|
|
39
|
+
self::$handlers[CommandType::GET_MODULE()->getValue()] = new GetModuleHandler();
|
|
40
|
+
self::$handlers[CommandType::INVOKE_INSTANCE_METHOD()->getValue()] = new InvokeInstanceMethodHandler();
|
|
41
|
+
self::$handlers[CommandType::EXCEPTION()->getValue()] = new ExceptionHandler();
|
|
42
|
+
self::$handlers[CommandType::HEART_BEAT()->getValue()] = new HeartBeatHandler();
|
|
43
|
+
self::$handlers[CommandType::CAST()->getValue()] = new CastHandler();
|
|
44
|
+
self::$handlers[CommandType::GET_INSTANCE_FIELD()->getValue()] = new GetInstanceFieldHandler();
|
|
45
|
+
self::$handlers[CommandType::OPTIMIZE()->getValue()] = new OptimizeHandler();
|
|
46
|
+
self::$handlers[CommandType::GENERATE_LIB()->getValue()] = new GenerateLibHandler();
|
|
47
|
+
self::$handlers[CommandType::INVOKE_GLOBAL_FUNCTION()->getValue()] = new InvokeGlobalFunctionHandler();
|
|
48
|
+
self::$handlers[CommandType::DESTRUCT_REFERENCE()->getValue()] = new DestructReferenceHandler();
|
|
49
|
+
self::$handlers[CommandType::ARRAY_REFERENCE()->getValue()] = new ArrayReferenceHandler();
|
|
50
|
+
self::$handlers[CommandType::ARRAY_GET_ITEM()->getValue()] = new ArrayGetItemHandler();
|
|
51
|
+
self::$handlers[CommandType::ARRAY_GET_SIZE()->getValue()] = new ArrayGetSizeHandler();
|
|
52
|
+
self::$handlers[CommandType::ARRAY_GET_RANK()->getValue()] = new ArrayGetRankHandler();
|
|
53
|
+
self::$handlers[CommandType::ARRAY_SET_ITEM()->getValue()] = new ArraySetItemHandler();
|
|
54
|
+
self::$handlers[CommandType::ARRAY()->getValue()] = new ArrayHandler();
|
|
55
|
+
self::$handlers[CommandType::RETRIEVE_ARRAY()->getValue()] = new RetrieveArrayHandler();
|
|
56
|
+
self::$handlers[CommandType::SET_INSTANCE_FIELD()->getValue()] = new SetInstanceFieldHandler();
|
|
57
|
+
self::$handlers[CommandType::INVOKE_GENERIC_STATIC_METHOD()->getValue()] = new InvokeGenericStaticMethodHandler();
|
|
58
|
+
self::$handlers[CommandType::INVOKE_GENERIC_METHOD()->getValue()] = new InvokeGenericMethodHandler();
|
|
59
|
+
self::$handlers[CommandType::GET_ENUM_ITEM()->getValue()] = new GetEnumItemHandler();
|
|
60
|
+
self::$handlers[CommandType::GET_ENUM_NAME()->getValue()] = new GetEnumNameHandler();
|
|
61
|
+
self::$handlers[CommandType::GET_ENUM_VALUE()->getValue()] = new GetEnumValueHandler();
|
|
62
|
+
self::$handlers[CommandType::AS_REF()->getValue()] = new AsRefHandler();
|
|
63
|
+
self::$handlers[CommandType::AS_OUT()->getValue()] = new AsOutHandler();
|
|
64
|
+
self::$handlers[CommandType::GET_REF_VALUE()->getValue()] = new GetRefValueHandler();
|
|
65
|
+
self::$handlers[CommandType::ENABLE_NAMESPACE()->getValue()] = new EnableNamespaceHandler();
|
|
66
|
+
self::$handlers[CommandType::ENABLE_TYPE()->getValue()] = new EnableTypeHandler();
|
|
67
|
+
self::$handlers[CommandType::CREATE_NULL()->getValue()] = new CreateNullHandler();
|
|
68
|
+
self::$handlers[CommandType::GET_STATIC_METHOD_AS_DELEGATE()->getValue()] = new GetStaticMethodAsDelegateHandler();
|
|
69
|
+
self::$handlers[CommandType::GET_INSTANCE_METHOD_AS_DELEGATE()->getValue()] = new GetInstanceMethodAsDelegateHandler();
|
|
70
|
+
self::$handlers[CommandType::PASS_DELEGATE()->getValue()] = new PassDelegateHandler();
|
|
71
|
+
self::$handlers[CommandType::INVOKE_DELEGATE()->getValue()] = new InvokeDelegateHandler();
|
|
72
|
+
self::$handlers[CommandType::CONVERT_TYPE()->getValue()] = new ConvertTypeHandler();
|
|
73
|
+
self::$handlers[CommandType::ADD_EVENT_LISTENER()->getValue()] = new AddEventListenerHandler();
|
|
74
|
+
self::$handlers[CommandType::PLUGIN_WRAPPER()->getValue()] = new PluginWrapperHandler();
|
|
75
|
+
self::$handlers[CommandType::GET_ASYNC_OPERATION_RESULT()->getValue()] = new GetAsyncOperationResultHandler();
|
|
76
|
+
self::$handlers[CommandType::AS_KWARGS()->getValue()] = new AsKwargsHandler();
|
|
77
|
+
self::$handlers[CommandType::GET_RESULT_TYPE()->getValue()] = new GetResultTypeHandler();
|
|
78
|
+
self::$handlers[CommandType::GET_GLOBAL_FIELD()->getValue()] = new GetGlobalFieldHandler();
|
|
79
|
+
self::$handlers[CommandType::REGISTER_FOR_UPDATE()->getValue()] = new RegisterForUpdateHandler();
|
|
80
|
+
self::$handlers[CommandType::VALUE_FOR_UPDATE()->getValue()] = new ValueForUpdateHandler();
|
|
81
|
+
self::$handlers[CommandType::AS_DTO()->getValue()] = new AsDtoHandler();
|
|
82
|
+
self::$handlers[CommandType::DTO_PROPERTY()->getValue()] = new DtoPropertyHandler();
|
|
83
|
+
self::$handlers[CommandType::PROJECT_RESULT_AS_DTO()->getValue()] = new ProjectResultAsDtoHandler();
|
|
84
|
+
self::$handlers[CommandType::PASS_BY_VALUE()->getValue()] = new PassByValueHandler();
|
|
85
|
+
self::$handlers[CommandType::CONTEXT_METADATA()->getValue()] = new ContextMetadataHandler();
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
public static function getHandlers(): array
|
|
89
|
+
{
|
|
90
|
+
self::initializeHandlers();
|
|
91
|
+
return self::$handlers;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
public static function handleCommand(CommandInterface $command): CommandInterface
|
|
95
|
+
{
|
|
96
|
+
self::initializeHandlers();
|
|
97
|
+
try {
|
|
98
|
+
$response = self::$handlers[$command->getCommandType()->getValue()]
|
|
99
|
+
->handleCommand($command);
|
|
100
|
+
|
|
101
|
+
return self::parseResponse($response, $command->getRuntimeName());
|
|
102
|
+
} catch (Throwable $e) {
|
|
103
|
+
if ($e->getPrevious() !== null) {
|
|
104
|
+
return ExceptionSerializer::serializeException($e->getPrevious(), $command);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return ExceptionSerializer::serializeException($e, $command);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* @param mixed $response
|
|
113
|
+
*/
|
|
114
|
+
private static function parseResponse($response, RuntimeName $runtimeName): CommandInterface
|
|
115
|
+
{
|
|
116
|
+
if (TypesHandler::isSimpleType($response)) {
|
|
117
|
+
$responseCommand = Command::createResponse(
|
|
118
|
+
$response,
|
|
119
|
+
$runtimeName
|
|
120
|
+
);
|
|
121
|
+
} elseif ($response instanceof CommandInterface) {
|
|
122
|
+
$responseCommand = $response;
|
|
123
|
+
} else {
|
|
124
|
+
if (is_array($response)) {
|
|
125
|
+
$response = new ArrayWrapper($response);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
$responseCommand = Command::createReference(
|
|
129
|
+
ReferencesCache::getInstance()->cacheReference($response),
|
|
130
|
+
$runtimeName
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
$invocationContexts = RegisterForUpdateHandler::$invocationContexts;
|
|
135
|
+
|
|
136
|
+
if (!empty($invocationContexts)) {
|
|
137
|
+
$refCache = ReferencesCache::getInstance();
|
|
138
|
+
|
|
139
|
+
foreach ($invocationContexts as $contextUuid => $contextValue) {
|
|
140
|
+
if (is_array($contextValue)) {
|
|
141
|
+
foreach ($contextValue as $nestedContextUuid => $nestedContextValue) {
|
|
142
|
+
$instanceGuid = $refCache->cacheReference($nestedContextValue);
|
|
143
|
+
|
|
144
|
+
$updateContextCommand = new Command(
|
|
145
|
+
$runtimeName,
|
|
146
|
+
CommandType::VALUE_FOR_UPDATE(),
|
|
147
|
+
(string) $nestedContextUuid,
|
|
148
|
+
$instanceGuid
|
|
149
|
+
);
|
|
150
|
+
|
|
151
|
+
$responseCommand = $responseCommand
|
|
152
|
+
->addArgToPayload($updateContextCommand);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
continue;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
$instanceGuid = $refCache->cacheReference($contextValue);
|
|
159
|
+
|
|
160
|
+
$updateContextCommand = new Command(
|
|
161
|
+
$runtimeName,
|
|
162
|
+
CommandType::VALUE_FOR_UPDATE(),
|
|
163
|
+
(string) $contextUuid,
|
|
164
|
+
$instanceGuid
|
|
165
|
+
);
|
|
166
|
+
|
|
167
|
+
$responseCommand = $responseCommand
|
|
168
|
+
->addArgToPayload($updateContextCommand);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
RegisterForUpdateHandler::$invocationContexts = [];
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
return $responseCommand;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
<?php
|
|
2
|
-
|
|
3
|
-
declare(strict_types=1);
|
|
4
|
-
|
|
5
|
-
namespace core\handler;
|
|
6
|
-
|
|
7
|
-
use Exception;
|
|
8
|
-
use utils\CommandInterface;
|
|
9
|
-
|
|
10
|
-
final class HeartBeatHandler extends AbstractHandler
|
|
11
|
-
{
|
|
12
|
-
/**
|
|
13
|
-
* @throws Exception
|
|
14
|
-
*/
|
|
15
|
-
public function process(CommandInterface $command)
|
|
16
|
-
{
|
|
17
|
-
throw new Exception(__CLASS__ . ' is not implemented in PHP');
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
1
|
+
<?php
|
|
2
|
+
|
|
3
|
+
declare(strict_types=1);
|
|
4
|
+
|
|
5
|
+
namespace core\handler;
|
|
6
|
+
|
|
7
|
+
use Exception;
|
|
8
|
+
use utils\CommandInterface;
|
|
9
|
+
|
|
10
|
+
final class HeartBeatHandler extends AbstractHandler
|
|
11
|
+
{
|
|
12
|
+
/**
|
|
13
|
+
* @throws Exception
|
|
14
|
+
*/
|
|
15
|
+
public function process(CommandInterface $command)
|
|
16
|
+
{
|
|
17
|
+
throw new Exception(__CLASS__ . ' is not implemented in PHP');
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
<?php
|
|
2
|
-
|
|
3
|
-
declare(strict_types=1);
|
|
4
|
-
|
|
5
|
-
namespace core\handler;
|
|
6
|
-
|
|
7
|
-
use core\delegatecache\DelegatesCache;
|
|
8
|
-
use utils\CommandInterface;
|
|
9
|
-
|
|
10
|
-
final class InvokeDelegateHandler extends AbstractHandler
|
|
11
|
-
{
|
|
12
|
-
private const REQUIRED_ARGUMENTS_COUNT = 1;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @return mixed
|
|
16
|
-
*/
|
|
17
|
-
public function process(CommandInterface $command)
|
|
18
|
-
{
|
|
19
|
-
$this->validate($command, self::REQUIRED_ARGUMENTS_COUNT, self::class);
|
|
20
|
-
|
|
21
|
-
$guid = (string) $command->getPayload()[0];
|
|
22
|
-
$delegate = DelegatesCache::getInstance()->getDelegate($guid);
|
|
23
|
-
$parameters = array_slice($command->getPayload(), 1);
|
|
24
|
-
|
|
25
|
-
return $delegate->invokeArgs(null, $parameters);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
1
|
+
<?php
|
|
2
|
+
|
|
3
|
+
declare(strict_types=1);
|
|
4
|
+
|
|
5
|
+
namespace core\handler;
|
|
6
|
+
|
|
7
|
+
use core\delegatecache\DelegatesCache;
|
|
8
|
+
use utils\CommandInterface;
|
|
9
|
+
|
|
10
|
+
final class InvokeDelegateHandler extends AbstractHandler
|
|
11
|
+
{
|
|
12
|
+
private const REQUIRED_ARGUMENTS_COUNT = 1;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @return mixed
|
|
16
|
+
*/
|
|
17
|
+
public function process(CommandInterface $command)
|
|
18
|
+
{
|
|
19
|
+
$this->validate($command, self::REQUIRED_ARGUMENTS_COUNT, self::class);
|
|
20
|
+
|
|
21
|
+
$guid = (string) $command->getPayload()[0];
|
|
22
|
+
$delegate = DelegatesCache::getInstance()->getDelegate($guid);
|
|
23
|
+
$parameters = array_slice($command->getPayload(), 1);
|
|
24
|
+
|
|
25
|
+
return $delegate->invokeArgs(null, $parameters);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
<?php
|
|
2
|
-
|
|
3
|
-
declare(strict_types=1);
|
|
4
|
-
|
|
5
|
-
namespace core\handler;
|
|
6
|
-
|
|
7
|
-
use utils\CommandInterface;
|
|
8
|
-
use ReflectionClass;
|
|
9
|
-
use ReflectionException;
|
|
10
|
-
|
|
11
|
-
final class InvokeGenericMethodHandler extends AbstractHandler
|
|
12
|
-
{
|
|
13
|
-
private const REQUIRED_ARGUMENTS_COUNT = 2;
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* @return mixed
|
|
17
|
-
*/
|
|
18
|
-
public function process(CommandInterface $command)
|
|
19
|
-
{
|
|
20
|
-
$this->validate($command, self::REQUIRED_ARGUMENTS_COUNT, self::class);
|
|
21
|
-
|
|
22
|
-
$objectOrClass = $command->getPayload()[0];
|
|
23
|
-
$methodToInvoke = $command->getPayload()[1];
|
|
24
|
-
$arguments = array_slice($command->getPayload(), 2);
|
|
25
|
-
|
|
26
|
-
try {
|
|
27
|
-
$reflectionClass = new ReflectionClass($objectOrClass);
|
|
28
|
-
$method = $reflectionClass->getMethod($methodToInvoke);
|
|
29
|
-
|
|
30
|
-
return $method->invokeArgs(is_object($objectOrClass) ? $objectOrClass : null, $arguments);
|
|
31
|
-
} catch (ReflectionException $e) {
|
|
32
|
-
$reflectionClass = new ReflectionClass($objectOrClass);
|
|
33
|
-
$methods = $reflectionClass->getMethods();
|
|
34
|
-
$className = is_object($objectOrClass) ? get_class($objectOrClass) : (string) $objectOrClass;
|
|
35
|
-
$message = sprintf('Method %s not found in class %s. Available methods:' . PHP_EOL, (string) $methodToInvoke, $className);
|
|
36
|
-
foreach ($methods as $method) {
|
|
37
|
-
$params = [];
|
|
38
|
-
foreach ($method->getParameters() as $param) {
|
|
39
|
-
$paramType = $param->getType();
|
|
40
|
-
$params[] = ($paramType ? $paramType . ' ' : '') . '$' . $param->getName();
|
|
41
|
-
}
|
|
42
|
-
$message .= $method->getName() . '(' . implode(', ', $params) . ')' . PHP_EOL;
|
|
43
|
-
}
|
|
44
|
-
throw new ReflectionException($message);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
1
|
+
<?php
|
|
2
|
+
|
|
3
|
+
declare(strict_types=1);
|
|
4
|
+
|
|
5
|
+
namespace core\handler;
|
|
6
|
+
|
|
7
|
+
use utils\CommandInterface;
|
|
8
|
+
use ReflectionClass;
|
|
9
|
+
use ReflectionException;
|
|
10
|
+
|
|
11
|
+
final class InvokeGenericMethodHandler extends AbstractHandler
|
|
12
|
+
{
|
|
13
|
+
private const REQUIRED_ARGUMENTS_COUNT = 2;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @return mixed
|
|
17
|
+
*/
|
|
18
|
+
public function process(CommandInterface $command)
|
|
19
|
+
{
|
|
20
|
+
$this->validate($command, self::REQUIRED_ARGUMENTS_COUNT, self::class);
|
|
21
|
+
|
|
22
|
+
$objectOrClass = $command->getPayload()[0];
|
|
23
|
+
$methodToInvoke = $command->getPayload()[1];
|
|
24
|
+
$arguments = array_slice($command->getPayload(), 2);
|
|
25
|
+
|
|
26
|
+
try {
|
|
27
|
+
$reflectionClass = new ReflectionClass($objectOrClass);
|
|
28
|
+
$method = $reflectionClass->getMethod($methodToInvoke);
|
|
29
|
+
|
|
30
|
+
return $method->invokeArgs(is_object($objectOrClass) ? $objectOrClass : null, $arguments);
|
|
31
|
+
} catch (ReflectionException $e) {
|
|
32
|
+
$reflectionClass = new ReflectionClass($objectOrClass);
|
|
33
|
+
$methods = $reflectionClass->getMethods();
|
|
34
|
+
$className = is_object($objectOrClass) ? get_class($objectOrClass) : (string) $objectOrClass;
|
|
35
|
+
$message = sprintf('Method %s not found in class %s. Available methods:' . PHP_EOL, (string) $methodToInvoke, $className);
|
|
36
|
+
foreach ($methods as $method) {
|
|
37
|
+
$params = [];
|
|
38
|
+
foreach ($method->getParameters() as $param) {
|
|
39
|
+
$paramType = $param->getType();
|
|
40
|
+
$params[] = ($paramType ? $paramType . ' ' : '') . '$' . $param->getName();
|
|
41
|
+
}
|
|
42
|
+
$message .= $method->getName() . '(' . implode(', ', $params) . ')' . PHP_EOL;
|
|
43
|
+
}
|
|
44
|
+
throw new ReflectionException($message);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|