Removed ISubscriber
This commit is contained in:
parent
fed70eca3e
commit
f3b3fa6780
|
@ -2,7 +2,7 @@
|
|||
|
||||
Implements a message broker with ability to build a pipeline of listeners.
|
||||
The project consists of:
|
||||
- observer-related interfaces,
|
||||
- A publisher (see `PipelineMessagePublisher`).
|
||||
- observer-related interfaces [here](/src/Contracts/).
|
||||
- `PipelineMessagePublisher` [here](/src/Publishers/PipelineMessagePublisher.cs).
|
||||
- [Translators](/docs/Translating.md) for messages.
|
||||
- [Filtering](/docs/Filtering.md) for messages.
|
|
@ -2,11 +2,10 @@ namespace ProSol.Messaging;
|
|||
|
||||
public static class PublishHelper
|
||||
{
|
||||
[Obsolete]
|
||||
public static void Publish<TMessage>(
|
||||
this IPublisher<TMessage> publisher,
|
||||
TMessage message,
|
||||
params ISubscriber[] subscribers)
|
||||
params IPipelineSubscriber<TMessage>[] subscribers)
|
||||
{
|
||||
if (subscribers.Length == 0)
|
||||
{
|
||||
|
@ -17,11 +16,10 @@ public static class PublishHelper
|
|||
publisher.Publish(message, subscribers[0], next);
|
||||
}
|
||||
|
||||
[Obsolete]
|
||||
public static void Publish<TMessage>(
|
||||
this IPublisher<TMessage> publisher,
|
||||
TMessage message,
|
||||
ISubscriber subscriber,
|
||||
IPipelineSubscriber<TMessage> subscriber,
|
||||
NextDelegate next)
|
||||
{
|
||||
switch (subscriber)
|
||||
|
|
|
@ -5,7 +5,7 @@ public delegate void NextDelegate();
|
|||
/// <summary>
|
||||
/// An Observer/Subscriber object with pipeline support.
|
||||
/// </summary>
|
||||
public interface IPipelineSubscriber<TMessage> : ISubscriber
|
||||
public interface IPipelineSubscriber<TMessage>
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a reaction on a message.
|
||||
|
@ -16,4 +16,9 @@ public interface IPipelineSubscriber<TMessage> : ISubscriber
|
|||
/// - For more details about ASP.NET pipeline, see https://learn.microsoft.com/en-us/aspnet/core/fundamentals/middleware/?view=aspnetcore-8.0
|
||||
/// </remarks>
|
||||
void OnNext(TMessage message, NextDelegate next);
|
||||
|
||||
/// <summary>
|
||||
/// Finalizes a subscriber.
|
||||
/// </summary>
|
||||
void OnCompleted();
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
namespace ProSol.Messaging;
|
||||
|
||||
public interface ISubscriber
|
||||
{
|
||||
/// <summary>
|
||||
/// Finalizes a subscriber.
|
||||
/// </summary>
|
||||
void OnCompleted();
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@ namespace ProSol.Messaging.Tests.Common;
|
|||
public class TestPublisher<TMessage>(IEnumerable<TMessage> messages) : IPublisher<TMessage>
|
||||
{
|
||||
readonly Queue<TMessage> messages = new(messages);
|
||||
ISubscriber? subscriber;
|
||||
IPipelineSubscriber<TMessage>? subscriber;
|
||||
|
||||
public void PublishAll()
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue