Files
adas-core/adas-core.Application/Services/Interfaces/IPublisherService.cs
T
2026-06-26 10:29:23 +02:00

32 lines
2.1 KiB
C#

namespace adas_core.Application.Services.Interfaces;
public interface IPublisherService
{
/// <summary>
/// Creates a new queue with the specified name.
/// </summary>
/// <param name="queueName">The name of the queue to create.</param>
/// <returns>A task that represents the asynchronous operation. The task result is <see langword="true"/> if the queue was created successfully; otherwise, <see langword="false"/>.</returns>
Task<bool> CreateQueue(string queueName);
/// <summary>
/// Asynchronously sends an error message to the specified message queue.
/// </summary>
/// <param name="obj">The error payload or message object to be sent to the queue.</param>
/// <param name="queueName">The name of the target message queue.</param>
/// <returns>A task that represents the asynchronous operation, containing a boolean value that indicates whether the message was successfully sent.</returns>
Task<bool> SendMessageError(object obj, string queueName);
/// <summary>
/// Asynchronously sends the specified object as a message to the named queue.
/// </summary>
/// <param name="obj">The object payload to serialize and publish to the queue.</param>
/// <param name="queueName">The name of the target queue that will receive the message.</param>
/// <returns>A task that resolves to <c>true</c> if the message was sent successfully, otherwise <c>false</c>.</returns>
Task<bool> SendMessage(object obj, string queueName);
/// <summary>
/// Asynchronously sends a message to the specified message queue and returns a value indicating whether the operation succeeded.
/// </summary>
/// <param name="message">The message content to be sent to the queue.</param>
/// <param name="queueName">The name of the target queue where the message will be delivered.</param>
/// <returns>A task that represents the asynchronous operation. The task result is <c>true</c> if the message was sent successfully; otherwise, <c>false</c>.</returns>
Task<bool> SendMessage(string message, string queueName);
}