blob: 5705f8cfa9fbb41f993ad84497b390347c95fc53 [file] [log] [blame]
/*
* Copyright 2017 Twitter, Inc.
*
* Licensed 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.
*/
////////////////////////////////////////////////////////////////////////////////
// Just defines the static member of Mempool class
////////////////////////////////////////////////////////////////////////////////
#include "basics/basics.h"
#include "glog/logging.h"
/* The initial value of pool size limit is 512. This value will
be overridden by value read from config during initialization
of stream manager. The reason why we do this is to avoid
circular dependency problem. See https://github.com/twitter/heron/pull/2073
for details */
MemPool<google::protobuf::Message>* __global_protobuf_pool__ =
new MemPool<google::protobuf::Message>(512);
std::mutex __global_protobuf_pool_mutex__;
void __global_protobuf_pool_set_pool_max_number_of_messages__(sp_int32 _pool_limit) {
std::lock_guard<std::mutex> guard(__global_protobuf_pool_mutex__);
LOG(INFO) << "Set max size of each memory pool to " << _pool_limit;
__global_protobuf_pool__->set_pool_max_number_of_messages(_pool_limit);
}