MQBus.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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. internal abstract class MQBus:MQDispose, IBus
  9. {
  10. public MQBus()
  11. {
  12. }
  13. public abstract string ClientID { get; }
  14. public abstract Boolean IsConnect { get; }
  15. public abstract string Host { get; }
  16. public abstract int Port { get; }
  17. public abstract IRPC RPC { get; }
  18. public abstract ISendReceive SendReceive { get; }
  19. public abstract IPubSub PubSub { get; }
  20. public event EventHandler ExceptionListener;
  21. public event EventHandler ConnectionInterruptedListener;
  22. public event IBus.ClientConnectionChangedEventHandler ClientConnectionChanged;
  23. public virtual void OnClientConnectionChanged(string clientid,ClientStatus status)
  24. {
  25. ClientConnectionChanged?.Invoke(this, clientid, status);
  26. }
  27. public virtual void OnExceptionListener()
  28. {
  29. ExceptionListener?.Invoke(this, EventArgs.Empty);
  30. }
  31. public virtual void OnConnectionInterruptedListener()
  32. {
  33. ConnectionInterruptedListener?.Invoke(this, EventArgs.Empty);
  34. }
  35. }
  36. }