using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace EasyMQ { internal abstract class MQBus:MQDispose, IBus { public MQBus() { } public abstract string ClientID { get; } public abstract Boolean IsConnect { get; } public abstract string Host { get; } public abstract int Port { get; } public abstract IRPC RPC { get; } public abstract ISendReceive SendReceive { get; } public abstract IPubSub PubSub { get; } public event EventHandler ExceptionListener; public event EventHandler ConnectionInterruptedListener; public event IBus.ClientConnectionChangedEventHandler ClientConnectionChanged; public virtual void OnClientConnectionChanged(string clientid,ClientStatus status) { ClientConnectionChanged?.Invoke(this, clientid, status); } public virtual void OnExceptionListener() { ExceptionListener?.Invoke(this, EventArgs.Empty); } public virtual void OnConnectionInterruptedListener() { ConnectionInterruptedListener?.Invoke(this, EventArgs.Empty); } } }