ISendReceive.cs 842 B

123456789101112131415161718
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace EasyMQ
  7. {
  8. public interface ISendReceive
  9. {
  10. public Task<T> ReceiveAsync<T>(string queue, string selector = "", CancellationToken token = default);
  11. public T? Receive<T>(string queue, string selector = "", CancellationToken token = default);
  12. public void Receive<T>(string queue, Action<T> action, string selector = "");
  13. public void Receive(string queue, OnMessageHandle onMessage, string selector = "");
  14. public Task SendAsync<T>(string queue, T value,uint timeToLive =0, Dictionary<string, string>? properties = null);
  15. public Task SendAsync(string queue, ref byte data, uint datalen, uint timeToLive = 0, Dictionary<string, string>? properties = null);
  16. }
  17. }