using System;
using MrWu.RabbitMQ;

namespace Server.MQ {
    /// <summary>
    /// 消息处理
    /// </summary>
    public interface IGlobalMQ {

        /// <summary>
        /// 发送成功
        /// </summary>
        /// <param name="msg">成功的消息</param>
        bool SendOK(Message msg);

        /// <summary>
        /// 发送失败
        /// </summary>
        /// <param name="msg">发送失败的消息</param>
        void SendFail(Message msg);

        /// <summary>
        /// 发送消息
        /// </summary>
        /// <param name="msg">消息</param>
        /// <param name="isAutoFree">是否自动释放</param>
        void SendMessage(Message msg,bool isAutoFree);

        /// <summary>
        /// 发送消息并返回发送结果
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="isAutoFree">是否自动释放</param>
        /// <returns></returns>
        bool SendMessage_Result(Message msg,bool isAutoFree);

        /// <summary>
        /// 接收消息
        /// </summary>
        /// <param name="msg"></param>
        void ReciveMessage(Message msg);

    }
}
