【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)
        {
        }
    };
};
相关推荐
xlq2232234 分钟前
全面复习7
c++
geats人山人海1 小时前
现代c++2.4 虚继承
java·开发语言·c++
csuzhucong1 小时前
天元一号、二号、三号
c++
灯澜忆梦2 小时前
【面向对象编程c++】| 数组与函数
java·数据结构·c++
起个名字费劲死了2 小时前
VisionMaster 十二点标定+单点抓取
c++·visionmaster
m0_646429972 小时前
RabbitMQ 核心知识总结(生产实战版)
分布式·rabbitmq
Lzg_na4 小时前
僵尸进程、孤儿进程、守护进程:含义、区别与生命周期详解
c++
zhanghaha13144 小时前
C++ 的类是什么(新手保姆讲解,配合 Qt 对照理解)
c++
DBA_G4 小时前
GBase 8c分布式数据库客户端工具 gsql
数据库·分布式
chunyublog4 小时前
Spark 词频统计练习
大数据·分布式·spark