using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EasyMQ
{
internal abstract class MQSendReceive : MQDispose, ISendReceive
{
public MQSendReceive()
{
}
///
/// 从队列中获取一个消息
///
///
///
///
///
///
public abstract Task ReceiveAsync(string queue, string selector = "", CancellationToken token = default);
///
/// 从队列中获取一个消息
///
///
///
///
///
///
public abstract T? Receive(string queue, string selector = "", CancellationToken token = default);
///
/// 向队列中发送一个消息
///
///
///
///
///
///
///
public abstract Task SendAsync(string queue,T value,uint timeToLive =0,Dictionary? properties = null);
public abstract void Receive(string queue, Action action, string selector = "");
public abstract void Receive(string queue, OnMessageHandle onMessage, string selector = "");
public abstract Task SendAsync(string queue, ref byte data, uint datalen, uint timeToLive = 0, Dictionary? properties = null);
}
}