【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)
        {
        }
    };
};
相关推荐
feng_you_ying_li9 分钟前
C++11,{}的初始化情况与左右值及其引用
开发语言·数据结构·c++
huohuopro27 分钟前
Hbase伪分布式远程访问配置
数据库·分布式·hbase
小樱花的樱花44 分钟前
打造高效记事本:UI设计到功能实现
开发语言·c++·qt·ui
零二年的冬1 小时前
epoll详解
java·linux·开发语言·c++·链表
坚持编程的菜鸟1 小时前
The Blocks Problem
数据结构·c++·算法
tankeven1 小时前
HJ171 排座椅
c++·算法
6Hzlia1 小时前
【Hot 100 刷题计划】 LeetCode 39. 组合总和 | C++ 回溯算法与 startIndex 剪枝
c++·算法·leetcode
宵时待雨2 小时前
优选算法专题1:双指针
数据结构·c++·笔记·算法·leetcode
程序员学习随笔2 小时前
深入剖析 std::optional:实现原理、性能优化与安全编程实践
c++·安全·空值
tankeven2 小时前
HJ172 小红的矩阵染色
c++·算法