【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)
        {
        }
    };
};
相关推荐
快乐的流畅10 分钟前
iChat:RabbitMQ封装
分布式·rabbitmq·ruby
旭意27 分钟前
数据结构顺序表
数据结构·c++·蓝桥杯
xie_pin_an30 分钟前
RabbitMQ 从入门到实战:核心特性、应用场景与高级用法全解析
分布式·rabbitmq
艾斯比的日常30 分钟前
Kafka Partition 深度解析:原理、策略与实战优化
分布式·kafka
煤球王子40 分钟前
学而时习之:C++中的结构体
c++
散峰而望1 小时前
C++入门(算法) - 习题
开发语言·c++·算法·github
blog_wanghao2 小时前
PDF文件内容出现重叠现象解析
c++·pdf
yong99902 小时前
C++实现LBM模拟Couette流
开发语言·c++
serendipity_hky3 小时前
【微服务 - easy视频 | day04】Seata解决分布式事务
java·spring boot·分布式·spring cloud·微服务·架构
卡提西亚3 小时前
C++笔记-23-类和对象-多态
c++·笔记