【RabbitMQ 项目】客户端:消费者模块

和服务端的消费者实现方式一模一样,只不过服务端的消费者的回调函数是把消息封装成响应并发送,固定都是这个动作,而客户端消费者回调是用来处理消息,是用户自己设置的。

cpp 复制代码
#pragma once
#include "../common/Log.hpp"
#include "../common/message.pb.h"
#include <functional>
#include <memory>
#include <atomic>
#include <mutex>
#include <vector>
#include <unordered_map>
namespace ns_consumer
{
    using namespace ns_log;

    struct Consumer;
    using ConsumerPtr = std::shared_ptr<Consumer>;
    using ConsumerCallback_t = std::function<void(const ns_data::Message& msg)>;
    struct Consumer
    {
        std::string _id;
        std::string _qname;
        ConsumerCallback_t _callback;
        bool _autoAck;

        Consumer(const std::string id, const std::string &qname, ConsumerCallback_t callback, bool autoAck)
            : _id(id),
              _qname(qname),
              _callback(callback),
              _autoAck(autoAck)
        {
        }
    };
};
相关推荐
handler016 分钟前
滑动窗口(同向双指针)算法:模板与例题解析
c语言·c++·笔记·算法·蓝桥杯·双指针·滑动窗口
Brilliantwxx9 分钟前
【算法题】基础计算器的不同实现方式
c++·算法
Sunsets_Red10 分钟前
P12375 「LAOI-12」MST? 题解
c++·算法·洛谷·信息学·oier·洛谷题解
雪度娃娃29 分钟前
多用户任务管理器
c++·个人开发
mmz120734 分钟前
深度优先搜索DFS3(c++)
c++·算法·深度优先
故事和你9135 分钟前
洛谷-【图论2-1】树6
开发语言·数据结构·c++·算法·深度优先·动态规划·图论
不知名的老吴37 分钟前
在C++中不用宏怎么打日志的使用建议
开发语言·c++·算法
蓝眸少年CY1 小时前
Spark - Code 核心教程
大数据·分布式·spark
蜡笔小马1 小时前
09.C++设计模式-外观模式
c++·设计模式·外观模式
敖正炀1 小时前
CAP 定理、BASE 理论与一致性模型深度
分布式