blob: 2b33345c09f2b4c37c87cd7eaf62357a47784e1d [file] [log] [blame]
#include "FifoProducerImpl.h"
#include <utility>
#include "FifoContext.h"
#include "rocketmq/Message.h"
#include "rocketmq/RocketMQ.h"
#include "rocketmq/SendCallback.h"
ROCKETMQ_NAMESPACE_BEGIN
void FifoProducerImpl::send(MessageConstPtr message, SendCallback callback) {
auto& group = message->group();
std::size_t hash = hash_fn_(group);
std::size_t slot = hash % concurrency_;
FifoContext context(std::move(message), callback);
partitions_[slot]->add(std::move(context));
}
ROCKETMQ_NAMESPACE_END