Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/All.slnx
Original file line number Diff line number Diff line change
Expand Up @@ -349,6 +349,7 @@
<Project Path="Mocha/src/Mocha.Threading/Mocha.Threading.csproj" />
<Project Path="Mocha/src/Mocha.Transport.InMemory/Mocha.Transport.InMemory.csproj" />
<Project Path="Mocha/src/Mocha.Transport.Postgres/Mocha.Transport.Postgres.csproj" />
<Project Path="Mocha/src/Mocha.Utilities/Mocha.Utilities.csproj" />
<Project Path="Mocha/src/Mocha.Transport.RabbitMQ/Mocha.Transport.RabbitMQ.csproj" />
<Project Path="Mocha/src/Mocha/Mocha.csproj" />
</Folder>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
using Microsoft.Extensions.DependencyInjection;

#pragma warning disable CS1591

namespace Mocha.Mediator.Benchmarks.Messaging;

partial class ImmediateCommandHandler
{
public sealed partial class Handler : global::Immediate.Handlers.Shared.IHandler<global::Mocha.Mediator.Benchmarks.Messaging.ImmediateCommandHandler.Command, global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse>
{
private readonly global::Mocha.Mediator.Benchmarks.Messaging.ImmediateCommandHandler.HandleBehavior _handleBehavior;

public Handler(
global::Mocha.Mediator.Benchmarks.Messaging.ImmediateCommandHandler.HandleBehavior handleBehavior
)
{
var handlerType = typeof(ImmediateCommandHandler);

_handleBehavior = handleBehavior;

}

public async global::System.Threading.Tasks.ValueTask<global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse> HandleAsync(
global::Mocha.Mediator.Benchmarks.Messaging.ImmediateCommandHandler.Command request,
global::System.Threading.CancellationToken cancellationToken = default
)
{
return await _handleBehavior
.HandleAsync(request, cancellationToken)
.ConfigureAwait(false);
}
}

[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public sealed class HandleBehavior : global::Immediate.Handlers.Shared.Behavior<global::Mocha.Mediator.Benchmarks.Messaging.ImmediateCommandHandler.Command, global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse>
{

public HandleBehavior(
)
{
}

public override async global::System.Threading.Tasks.ValueTask<global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse> HandleAsync(
global::Mocha.Mediator.Benchmarks.Messaging.ImmediateCommandHandler.Command request,
global::System.Threading.CancellationToken cancellationToken
)
{
return await global::Mocha.Mediator.Benchmarks.Messaging.ImmediateCommandHandler
.HandleAsync(
request
, cancellationToken
)
.ConfigureAwait(false);
}
}

[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public static IServiceCollection AddHandlers(
IServiceCollection services,
ServiceLifetime lifetime = ServiceLifetime.Scoped
)
{
services.Add(new(typeof(global::Mocha.Mediator.Benchmarks.Messaging.ImmediateCommandHandler.Handler), typeof(global::Mocha.Mediator.Benchmarks.Messaging.ImmediateCommandHandler.Handler), lifetime));
services.Add(new(typeof(global::Immediate.Handlers.Shared.IHandler<global::Mocha.Mediator.Benchmarks.Messaging.ImmediateCommandHandler.Command, global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse>), typeof(global::Mocha.Mediator.Benchmarks.Messaging.ImmediateCommandHandler.Handler), lifetime));
services.Add(new(typeof(global::Mocha.Mediator.Benchmarks.Messaging.ImmediateCommandHandler.HandleBehavior), typeof(global::Mocha.Mediator.Benchmarks.Messaging.ImmediateCommandHandler.HandleBehavior), lifetime));
return services;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
using Microsoft.Extensions.DependencyInjection;

#pragma warning disable CS1591

namespace Mocha.Mediator.Benchmarks.Messaging;

partial class ImmediateFullPipelineCommandHandler
{
public sealed partial class Handler : global::Immediate.Handlers.Shared.IHandler<global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineCommandHandler.Command, global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse>
{
private readonly global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineCommandHandler.HandleBehavior _handleBehavior;
private readonly global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelinePostBehavior<global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineCommandHandler.Command, global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse> _immediateFullPipelinePostBehavior;
private readonly global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineMainBehavior<global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineCommandHandler.Command, global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse> _immediateFullPipelineMainBehavior;
private readonly global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelinePreBehavior<global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineCommandHandler.Command, global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse> _immediateFullPipelinePreBehavior;

public Handler(
global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineCommandHandler.HandleBehavior handleBehavior,
global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelinePostBehavior<global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineCommandHandler.Command, global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse> immediateFullPipelinePostBehavior,
global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineMainBehavior<global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineCommandHandler.Command, global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse> immediateFullPipelineMainBehavior,
global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelinePreBehavior<global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineCommandHandler.Command, global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse> immediateFullPipelinePreBehavior
)
{
var handlerType = typeof(ImmediateFullPipelineCommandHandler);

_handleBehavior = handleBehavior;

_immediateFullPipelinePreBehavior = immediateFullPipelinePreBehavior;
_immediateFullPipelinePreBehavior.HandlerType = handlerType;

_immediateFullPipelineMainBehavior = immediateFullPipelineMainBehavior;
_immediateFullPipelineMainBehavior.HandlerType = handlerType;

_immediateFullPipelinePostBehavior = immediateFullPipelinePostBehavior;
_immediateFullPipelinePostBehavior.HandlerType = handlerType;

_immediateFullPipelinePostBehavior.SetInnerHandler(_handleBehavior);
_immediateFullPipelineMainBehavior.SetInnerHandler(_immediateFullPipelinePostBehavior);
_immediateFullPipelinePreBehavior.SetInnerHandler(_immediateFullPipelineMainBehavior);
}

public async global::System.Threading.Tasks.ValueTask<global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse> HandleAsync(
global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineCommandHandler.Command request,
global::System.Threading.CancellationToken cancellationToken = default
)
{
return await _immediateFullPipelinePreBehavior
.HandleAsync(request, cancellationToken)
.ConfigureAwait(false);
}
}

[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public sealed class HandleBehavior : global::Immediate.Handlers.Shared.Behavior<global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineCommandHandler.Command, global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse>
{

public HandleBehavior(
)
{
}

public override async global::System.Threading.Tasks.ValueTask<global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse> HandleAsync(
global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineCommandHandler.Command request,
global::System.Threading.CancellationToken cancellationToken
)
{
return await global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineCommandHandler
.HandleAsync(
request
, cancellationToken
)
.ConfigureAwait(false);
}
}

[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public static IServiceCollection AddHandlers(
IServiceCollection services,
ServiceLifetime lifetime = ServiceLifetime.Scoped
)
{
services.Add(new(typeof(global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineCommandHandler.Handler), typeof(global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineCommandHandler.Handler), lifetime));
services.Add(new(typeof(global::Immediate.Handlers.Shared.IHandler<global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineCommandHandler.Command, global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse>), typeof(global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineCommandHandler.Handler), lifetime));
services.Add(new(typeof(global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineCommandHandler.HandleBehavior), typeof(global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineCommandHandler.HandleBehavior), lifetime));
return services;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
using Microsoft.Extensions.DependencyInjection;

#pragma warning disable CS1591

namespace Mocha.Mediator.Benchmarks.Messaging;

partial class ImmediatePipelineCommandHandler
{
public sealed partial class Handler : global::Immediate.Handlers.Shared.IHandler<global::Mocha.Mediator.Benchmarks.Messaging.ImmediatePipelineCommandHandler.Command, global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse>
{
private readonly global::Mocha.Mediator.Benchmarks.Messaging.ImmediatePipelineCommandHandler.HandleBehavior _handleBehavior;
private readonly global::Mocha.Mediator.Benchmarks.Messaging.ImmediateBenchmarkBehavior<global::Mocha.Mediator.Benchmarks.Messaging.ImmediatePipelineCommandHandler.Command, global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse> _immediateBenchmarkBehavior;

public Handler(
global::Mocha.Mediator.Benchmarks.Messaging.ImmediatePipelineCommandHandler.HandleBehavior handleBehavior,
global::Mocha.Mediator.Benchmarks.Messaging.ImmediateBenchmarkBehavior<global::Mocha.Mediator.Benchmarks.Messaging.ImmediatePipelineCommandHandler.Command, global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse> immediateBenchmarkBehavior
)
{
var handlerType = typeof(ImmediatePipelineCommandHandler);

_handleBehavior = handleBehavior;

_immediateBenchmarkBehavior = immediateBenchmarkBehavior;
_immediateBenchmarkBehavior.HandlerType = handlerType;

_immediateBenchmarkBehavior.SetInnerHandler(_handleBehavior);
}

public async global::System.Threading.Tasks.ValueTask<global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse> HandleAsync(
global::Mocha.Mediator.Benchmarks.Messaging.ImmediatePipelineCommandHandler.Command request,
global::System.Threading.CancellationToken cancellationToken = default
)
{
return await _immediateBenchmarkBehavior
.HandleAsync(request, cancellationToken)
.ConfigureAwait(false);
}
}

[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public sealed class HandleBehavior : global::Immediate.Handlers.Shared.Behavior<global::Mocha.Mediator.Benchmarks.Messaging.ImmediatePipelineCommandHandler.Command, global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse>
{

public HandleBehavior(
)
{
}

public override async global::System.Threading.Tasks.ValueTask<global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse> HandleAsync(
global::Mocha.Mediator.Benchmarks.Messaging.ImmediatePipelineCommandHandler.Command request,
global::System.Threading.CancellationToken cancellationToken
)
{
return await global::Mocha.Mediator.Benchmarks.Messaging.ImmediatePipelineCommandHandler
.HandleAsync(
request
, cancellationToken
)
.ConfigureAwait(false);
}
}

[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public static IServiceCollection AddHandlers(
IServiceCollection services,
ServiceLifetime lifetime = ServiceLifetime.Scoped
)
{
services.Add(new(typeof(global::Mocha.Mediator.Benchmarks.Messaging.ImmediatePipelineCommandHandler.Handler), typeof(global::Mocha.Mediator.Benchmarks.Messaging.ImmediatePipelineCommandHandler.Handler), lifetime));
services.Add(new(typeof(global::Immediate.Handlers.Shared.IHandler<global::Mocha.Mediator.Benchmarks.Messaging.ImmediatePipelineCommandHandler.Command, global::Mocha.Mediator.Benchmarks.Messaging.BenchmarkResponse>), typeof(global::Mocha.Mediator.Benchmarks.Messaging.ImmediatePipelineCommandHandler.Handler), lifetime));
services.Add(new(typeof(global::Mocha.Mediator.Benchmarks.Messaging.ImmediatePipelineCommandHandler.HandleBehavior), typeof(global::Mocha.Mediator.Benchmarks.Messaging.ImmediatePipelineCommandHandler.HandleBehavior), lifetime));
return services;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;

#pragma warning disable CS1591

namespace Mocha.Mediator.Benchmarks;

public static class HandlerServiceCollectionExtensions
{
public static IServiceCollection AddMochaMediatorBenchmarksBehaviors(
this IServiceCollection services)
{
services.TryAddTransient(typeof(global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelinePreBehavior<,>));
services.TryAddTransient(typeof(global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineMainBehavior<,>));
services.TryAddTransient(typeof(global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelinePostBehavior<,>));
services.TryAddTransient(typeof(global::Mocha.Mediator.Benchmarks.Messaging.ImmediateBenchmarkBehavior<,>));

return services;
}

public static IServiceCollection AddMochaMediatorBenchmarksHandlers(
this IServiceCollection services,
ServiceLifetime lifetime = ServiceLifetime.Scoped
)
{
global::Mocha.Mediator.Benchmarks.Messaging.ImmediateFullPipelineCommandHandler.AddHandlers(services, lifetime);
global::Mocha.Mediator.Benchmarks.Messaging.ImmediateCommandHandler.AddHandlers(services, lifetime);
global::Mocha.Mediator.Benchmarks.Messaging.ImmediatePipelineCommandHandler.AddHandlers(services, lifetime);

return services;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// <auto-generated>
// Generated by the Mediator source generator.
// </auto-generated>

namespace Mediator
{
/// <summary>
/// Represents an assembly reference.
/// This is used to specify the types or assemblies to scan for Mediator handlers.
/// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("Mediator.SourceGenerator", "3.0.0.0")]
public sealed class AssemblyReference
{
/// <summary>
/// The assembly reference.
/// </summary>
public global::System.Reflection.Assembly Assembly { get; }

private AssemblyReference(global::System.Reflection.Assembly assembly)
{
Assembly = assembly;
}

/// <summary>
/// Creates a new instance of <see cref="AssemblyReference" /> from the specified type.
/// </summary>
/// <param name="type">The type</param>
/// <returns>A new instance of <see cref="AssemblyReference" /></returns>
public static implicit operator AssemblyReference(global::System.Type type) => new AssemblyReference(type.Assembly);

/// <summary>
/// Creates a new instance of <see cref="AssemblyReference" /> from the specified assembly.
/// </summary>
/// <param name="assembly">The assembly</param>
/// <returns>A new instance of <see cref="AssemblyReference" /></returns>
public static implicit operator AssemblyReference(global::System.Reflection.Assembly assembly) => new AssemblyReference(assembly);
}
}
Loading
Loading