【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)
        {
        }
    };
};
相关推荐
Dylanioucn几秒前
【分布式微服务】探索微服务架构下的服务治理
分布式·微服务·架构
AVICCI1 小时前
C++ 基础
开发语言·c++
用手码出世界1 小时前
C/C++内存管理
c语言·c++
悲伤小伞1 小时前
C/C++—有关日期类的OJ题
c语言·数据结构·c++·笔记·算法
一只编程菜鸟1 小时前
SpringCloud Alibaba之Seata处理分布式事务
分布式·spring·spring cloud
ACALJJ321 小时前
智能指针学习笔记
开发语言·c++·算法
陈吉俊2 小时前
spark 广播和累加器
大数据·分布式·spark
得鹿梦鱼、2 小时前
Qt/C++ 了解NTFS文件系统,解析0x80 $Data属性,获取Run Lists数据列表
c++·qt·ntfs mft
summ1ts2 小时前
P4630 [APIO2018] 铁人两项(圆方树模版)
c++·算法·深度优先·图论·圆方树