【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)
        {
        }
    };
};
相关推荐
不会代码的小猴25 分钟前
3. 控件学习1
开发语言·c++·笔记·qt·算法
烧酒同学5 小时前
【C++】记录size of std::vector的巧妙坑
开发语言·c++·图形渲染
何以解忧,唯有..5 小时前
Redisson分布式锁实现原理深度解析
分布式
萧瑟余晖6 小时前
Java深入解析篇三十六之分布式系统详解
java·开发语言·分布式
@呱呱爱学习7 小时前
C++大成之路_ STL容器_ Vector
开发语言·c++
码匠许师傅8 小时前
【C++ 面试真题】19. 聊聊 C++ 的迭代器
开发语言·c++·面试
qeen878 小时前
【数据结构】红黑树的算法原理解析与实现
开发语言·数据结构·c++·算法·红黑树
码匠许师傅8 小时前
【C++ 面试真题】20. 聊聊 C++ 的标准库常用算法
c++·算法·面试
白色冰激凌10 小时前
[SECS/GEM研究] (六)SML与数据序列化
c++·secs/gem
_小柏_10 小时前
总结下最近面试出现的问题
c++·面试