和服务端的消费者实现方式一模一样,只不过服务端的消费者的回调函数是把消息封装成响应并发送,固定都是这个动作,而客户端消费者回调是用来处理消息,是用户自己设置的。
#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)
{
}
};
};
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 【RabbitMQ 项目】客户端:消费者模块
发表评论 取消回复