【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_li8 小时前
C++复习二,继承与多态
c++
小小de风呀8 小时前
de风——【从零开始学C++】(十一):list的基本使用和模拟实现
开发语言·c++·list
陌路209 小时前
C++高级进阶--夯实进阶基础(1)
开发语言·c++
郝学胜-神的一滴10 小时前
中级OpenGL教程 008:精准控制高光光斑大小与强度
c++·unity·godot·three.js·图形学·opengl·unreal
牢姐与蒯10 小时前
c++数据结构之c++11(一)
数据结构·c++
折戟不必沉沙11 小时前
构造和析构函数能否是虚函数?能否调用虚函数?
c++
Byron__11 小时前
RabbitMQ 面试核心精讲
java·面试·rabbitmq
-To be number.wan11 小时前
算法日记 | STL- sort排序
c++·算法
不想写代码的星星11 小时前
编译期策略模式:当模板成为策略容器
c++
啦啦啦啦啦zzzz11 小时前
数据结构:平衡二叉树
数据结构·c++·二叉树