blob: 8870e989aceda14f6645da6d27701e398cf7ca0a [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ROCKETMQ_DEFAULTMQPRODUCERCONFIPROXY_H_
#define ROCKETMQ_DEFAULTMQPRODUCERCONFIPROXY_H_
#include "DefaultMQProducerConfig.h"
#include "MQClientConfigProxy.h"
namespace rocketmq {
/**
* DefaultMQProducerConfigProxy - proxy for DefaultMQProducerConfig
*/
class ROCKETMQCLIENT_API DefaultMQProducerConfigProxy : public MQClientConfigProxy, // base
virtual public DefaultMQProducerConfig // interface
{
public:
DefaultMQProducerConfigProxy(DefaultMQProducerConfigPtr producerConfig) : MQClientConfigProxy(producerConfig) {}
virtual ~DefaultMQProducerConfigProxy() = default;
int async_send_thread_nums() const override {
return dynamic_cast<DefaultMQProducerConfig*>(client_config_.get())->async_send_thread_nums();
}
void set_async_send_thread_nums(int async_send_thread_nums) override {
dynamic_cast<DefaultMQProducerConfig*>(client_config_.get())->set_async_send_thread_nums(async_send_thread_nums);
}
int max_message_size() const override {
return dynamic_cast<DefaultMQProducerConfig*>(client_config_.get())->max_message_size();
}
void set_max_message_size(int max_message_size) override {
dynamic_cast<DefaultMQProducerConfig*>(client_config_.get())->set_max_message_size(max_message_size);
}
int compress_msg_body_over_howmuch() const override {
return dynamic_cast<DefaultMQProducerConfig*>(client_config_.get())->compress_msg_body_over_howmuch();
}
void set_compress_msg_body_over_howmuch(int compress_msg_body_over_howmuch) override {
dynamic_cast<DefaultMQProducerConfig*>(client_config_.get())
->set_compress_msg_body_over_howmuch(compress_msg_body_over_howmuch);
}
int compress_level() const override {
return dynamic_cast<DefaultMQProducerConfig*>(client_config_.get())->compress_level();
}
void set_compress_level(int compress_level) override {
dynamic_cast<DefaultMQProducerConfig*>(client_config_.get())->set_compress_level(compress_level);
}
int send_msg_timeout() const override {
return dynamic_cast<DefaultMQProducerConfig*>(client_config_.get())->send_msg_timeout();
}
void set_send_msg_timeout(int send_msg_timeout) override {
dynamic_cast<DefaultMQProducerConfig*>(client_config_.get())->set_send_msg_timeout(send_msg_timeout);
}
int retry_times() const override {
return dynamic_cast<DefaultMQProducerConfig*>(client_config_.get())->retry_times();
}
void set_retry_times(int retry_times) override {
dynamic_cast<DefaultMQProducerConfig*>(client_config_.get())->set_retry_times(retry_times);
}
int retry_times_for_async() const override {
return dynamic_cast<DefaultMQProducerConfig*>(client_config_.get())->retry_times_for_async();
}
void set_retry_times_for_async(int retry_times) override {
dynamic_cast<DefaultMQProducerConfig*>(client_config_.get())->set_retry_times_for_async(retry_times);
}
bool retry_another_broker_when_not_store_ok() const override {
return dynamic_cast<DefaultMQProducerConfig*>(client_config_.get())->retry_another_broker_when_not_store_ok();
}
void set_retry_another_broker_when_not_store_ok(bool retry_another_broker_when_not_store_ok) override {
dynamic_cast<DefaultMQProducerConfig*>(client_config_.get())
->set_retry_another_broker_when_not_store_ok(retry_another_broker_when_not_store_ok);
}
bool send_latency_fault_enable() const override {
return dynamic_cast<DefaultMQProducerConfig*>(client_config_.get())->send_latency_fault_enable();
}
void set_send_latency_fault_enable(bool send_latency_fault_enable) override {
dynamic_cast<DefaultMQProducerConfig*>(client_config_.get())
->set_send_latency_fault_enable(send_latency_fault_enable);
}
inline DefaultMQProducerConfigPtr real_config() const {
return std::dynamic_pointer_cast<DefaultMQProducerConfig>(client_config_);
}
};
} // namespace rocketmq
#endif // ROCKETMQ_DEFAULTMQPRODUCERCONFIPROXY_H_