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); } }