123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- 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()
- {
- }
- /// <summary>
- /// 从队列中获取一个消息
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="queue"></param>
- /// <param name="selector"></param>
- /// <param name="token"></param>
- /// <returns></returns>
- public abstract Task<T> ReceiveAsync<T>(string queue, string selector = "", CancellationToken token = default);
- /// <summary>
- /// 从队列中获取一个消息
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="queue"></param>
- /// <param name="selector"></param>
- /// <param name="token"></param>
- /// <returns></returns>
- public abstract T? Receive<T>(string queue, string selector = "", CancellationToken token = default);
- /// <summary>
- /// 向队列中发送一个消息
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="queue"></param>
- /// <param name="value"></param>
- /// <param name="timeToLive"></param>
- /// <param name="properties"></param>
- /// <returns></returns>
- public abstract Task SendAsync<T>(string queue,T value,uint timeToLive =0,Dictionary<string,string>? properties = null);
- public abstract void Receive<T>(string queue, Action<T> 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<string, string>? properties = null);
- }
- }
|