diff --git a/mROA/Abstract/IExecuteModule.cs b/mROA/Abstract/IExecuteModule.cs index c45a378..54d4904 100644 --- a/mROA/Abstract/IExecuteModule.cs +++ b/mROA/Abstract/IExecuteModule.cs @@ -4,7 +4,7 @@ namespace mROA.Abstract { public interface IExecuteModule { - ICommandExecution Execute(ICallRequest command, IInstanceRepository instanceRepository, + ICommandExecution? Execute(ICallRequest command, IInstanceRepository instanceRepository, IRepresentationModule representationModule, IEndPointContext context); } } \ No newline at end of file diff --git a/mROA/Implementation/Backend/BasicExecutionModule.cs b/mROA/Implementation/Backend/BasicExecutionModule.cs index 53b8937..166cf22 100644 --- a/mROA/Implementation/Backend/BasicExecutionModule.cs +++ b/mROA/Implementation/Backend/BasicExecutionModule.cs @@ -19,7 +19,7 @@ namespace mROA.Implementation.Backend _serialization = serialization; } - public ICommandExecution Execute(ICallRequest command, IInstanceRepository instanceRepository, + public ICommandExecution? Execute(ICallRequest command, IInstanceRepository instanceRepository, IRepresentationModule representationModule, IEndPointContext endPointContext) { // _logger.LogInformation("Executing {0}", command.Id); @@ -63,7 +63,7 @@ namespace mROA.Implementation.Backend } } - private ICommandExecution ExecuteRequest(ICallRequest command, IInstanceRepository instanceRepository, + private ICommandExecution? ExecuteRequest(ICallRequest command, IInstanceRepository instanceRepository, IRepresentationModule representationModule, IEndPointContext endPointContext, IMethodInvoker invoker, object context, object?[]? castedParams, RequestContext execContext) { @@ -122,14 +122,14 @@ namespace mROA.Implementation.Backend }; } - private static ICommandExecution Execute(MethodInvoker invoker, object instance, object?[] parameter, + private static ICommandExecution? Execute(MethodInvoker invoker, object instance, object?[] parameter, ICallRequest command, RequestContext executionContext) { var finalResult = invoker.Invoke(instance, parameter, new object[] { executionContext }); if (!invoker.IsTrusted) { - return new AsyncCommandExecution(); + return null; } if (invoker.IsVoid) @@ -147,7 +147,7 @@ namespace mROA.Implementation.Backend }; } - private ICommandExecution ExecuteAsync(AsyncMethodInvoker invoker, object instance, object?[]? parameters, + private ICommandExecution? ExecuteAsync(AsyncMethodInvoker invoker, object instance, object?[]? parameters, ICallRequest command, ICancellationRepository cancellationRepository, IRepresentationModule representationModule, RequestContext executionContext, IEndPointContext context) { @@ -172,13 +172,11 @@ namespace mROA.Implementation.Backend payload, context); }); - return new AsyncCommandExecution - { - Id = command.Id - }; + + return null; } - private ICommandExecution TypedExecuteAsync(AsyncMethodInvoker invoker, object instance, object?[]? parameters, + private ICommandExecution? TypedExecuteAsync(AsyncMethodInvoker invoker, object instance, object?[]? parameters, ICallRequest command, ICancellationRepository cancellationRepository, IRepresentationModule representationModule, RequestContext executionContext, IEndPointContext context) { @@ -201,10 +199,7 @@ namespace mROA.Implementation.Backend payload, context); }); - return new AsyncCommandExecution - { - Id = command.Id - }; + return null; } } } \ No newline at end of file diff --git a/mROA/Implementation/CommandExecution/AsyncCommandExecution.cs b/mROA/Implementation/CommandExecution/AsyncCommandExecution.cs deleted file mode 100644 index 768668a..0000000 --- a/mROA/Implementation/CommandExecution/AsyncCommandExecution.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; -using mROA.Abstract; - -namespace mROA.Implementation.CommandExecution -{ - public class AsyncCommandExecution : ICommandExecution - { - public RequestId Id { get; set; } - public EMessageType MessageType => EMessageType.Unknown; - } -} \ No newline at end of file diff --git a/mROA/Implementation/Frontend/RequestExtractor.cs b/mROA/Implementation/Frontend/RequestExtractor.cs index f13afe1..a6b0f62 100644 --- a/mROA/Implementation/Frontend/RequestExtractor.cs +++ b/mROA/Implementation/Frontend/RequestExtractor.cs @@ -76,14 +76,13 @@ namespace mROA.Implementation.Frontend private void HandleCallRequest(DefaultCallRequest request) { var result = _executeModule.Execute(request, _context.RealRepository, _representationModule, _context); - - var resultType = result.MessageType; - - if (resultType == EMessageType.Unknown) + + if (result is null) { return; } + var resultType = result.MessageType; _representationModule.PostCallMessageAsync(request.Id, resultType, result, _context).ConfigureAwait(false); }