void RocketMQProducer::SetOptions()

in src/producer.cpp [56:119]


void RocketMQProducer::SetOptions(Local<Object> options)
{
    // set name server
    Local<Value> _name_server_v = Nan::Get(options, Nan::New<String>("nameServer").ToLocalChecked()).ToLocalChecked();
    if(_name_server_v->IsString())
    {
        Nan::Utf8String namesrv(_name_server_v);
        SetProducerNameServerAddress(producer_ptr, *namesrv);
    }

    // set group name
    Local<Value> _group_name_v = Nan::Get(options, Nan::New<String>("groupName").ToLocalChecked()).ToLocalChecked();
    if(_group_name_v->IsString())
    {
        Nan::Utf8String group_name(_group_name_v);
        SetProducerGroupName(producer_ptr, *group_name);
    }

    // set log num & single log size
    int file_num = 3;
    int64 file_size = 104857600;
    Local<Value> _log_file_num_v = Nan::Get(options, Nan::New<String>("logFileNum").ToLocalChecked()).ToLocalChecked();
    Local<Value> _log_file_size_v = Nan::Get(options, Nan::New<String>("logFileSize").ToLocalChecked()).ToLocalChecked();
    if(_log_file_num_v->IsNumber())
    {
        file_num = _log_file_num_v->Int32Value();
    }
    if(_log_file_size_v->IsNumber())
    {
        file_size = _log_file_size_v->Int32Value();
    }
    SetProducerLogFileNumAndSize(producer_ptr, file_num, file_size);

    // set log level
    Local<Value> _log_level_v = Nan::Get(options, Nan::New<String>("logLevel").ToLocalChecked()).ToLocalChecked();
    if(_log_level_v->IsNumber())
    {
        int level = _log_level_v->Int32Value();
        SetProducerLogLevel(producer_ptr, (CLogLevel)level);
    }

    // set compress level
    Local<Value> _compress_level_v = Nan::Get(options, Nan::New<String>("compressLevel").ToLocalChecked()).ToLocalChecked();
    if(_compress_level_v->IsNumber()) {
        int level = _compress_level_v->Int32Value();
        SetProducerCompressLevel(producer_ptr, level);
    }

    // set send message timeout
    Local<Value> _send_message_timeout_v = Nan::Get(options, Nan::New<String>("sendMessageTimeout").ToLocalChecked()).ToLocalChecked();
    if(_send_message_timeout_v->IsNumber())
    {
        int timeout = _send_message_timeout_v->Int32Value();
        SetProducerSendMsgTimeout(producer_ptr, timeout);
    }

    // set max message size
    Local<Value> _max_message_size_v = Nan::Get(options, Nan::New<String>("maxMessageSize").ToLocalChecked()).ToLocalChecked();
    if(_max_message_size_v->IsNumber())
    {
        int size = _max_message_size_v->Int32Value();
        SetProducerMaxMessageSize(producer_ptr, size);
    }
}