diff --git a/src/groups/mqb/mqbmock/mqbmock_cluster.cpp b/src/groups/mqb/mqbmock/mqbmock_cluster.cpp index 0ffacdc1a..0d57dc8d7 100644 --- a/src/groups/mqb/mqbmock/mqbmock_cluster.cpp +++ b/src/groups/mqb/mqbmock/mqbmock_cluster.cpp @@ -136,7 +136,6 @@ void Cluster::_initializeNetcluster() d_netCluster_mp.load(new (*d_allocator_p) mqbnet::MockCluster(d_clusterDefinition, d_bufferFactory_p, - &d_itemPool, d_allocator_p), d_allocator_p); @@ -221,7 +220,6 @@ Cluster::Cluster(bdlbb::BlobBufferFactory* bufferFactory, , d_timeSource(&d_scheduler) , d_isStarted(false) , d_clusterDefinition(allocator) -, d_itemPool(mqbnet::Channel::k_ITEM_SIZE, allocator) , d_channels(allocator) , d_negotiator_mp() , d_transportManager(&d_scheduler, diff --git a/src/groups/mqb/mqbmock/mqbmock_cluster.h b/src/groups/mqb/mqbmock/mqbmock_cluster.h index e26421b3e..ed3885345 100644 --- a/src/groups/mqb/mqbmock/mqbmock_cluster.h +++ b/src/groups/mqb/mqbmock/mqbmock_cluster.h @@ -178,9 +178,6 @@ class Cluster : public mqbi::Cluster { mqbcfg::ClusterDefinition d_clusterDefinition; // Cluster definition - mqbnet::Channel::ItemPool d_itemPool; - // Item pool - TestChannelMap d_channels; // Test channels @@ -429,9 +426,6 @@ class Cluster : public mqbi::Cluster { /// Get a modifiable reference to this object's time source. bdlmt::EventSchedulerTestTimeSource& _timeSource(); - /// Get a modifiable reference to this object's item pool. - mqbnet::Channel::ItemPool& _itemPool(); - /// Get a modifiable reference to this object's cluster data. mqbc::ClusterData* _clusterData(); @@ -585,11 +579,6 @@ inline bdlmt::EventSchedulerTestTimeSource& Cluster::_timeSource() return d_timeSource; } -inline mqbnet::Channel::ItemPool& Cluster::_itemPool() -{ - return d_itemPool; -} - inline mqbc::ClusterData* Cluster::_clusterData() { return d_clusterData_mp.get(); diff --git a/src/groups/mqb/mqbnet/mqbnet_channel.cpp b/src/groups/mqb/mqbnet/mqbnet_channel.cpp index 9a53f0c0f..cf57b065f 100644 --- a/src/groups/mqb/mqbnet/mqbnet_channel.cpp +++ b/src/groups/mqb/mqbnet/mqbnet_channel.cpp @@ -63,17 +63,18 @@ void Channel::Stats::reset() // ------------- Channel::Channel(bdlbb::BlobBufferFactory* blobBufferFactory, - ItemPool* itemPool, const bsl::string& name, bslma::Allocator* allocator) : d_allocators(allocator) -, d_allocator_p(d_allocators.get(bsl::string("Channel-") + name)) +, d_allocator_p(d_allocators.get("Channel")) , d_putBuilder(blobBufferFactory, d_allocator_p) , d_pushBuilder(blobBufferFactory, d_allocator_p) , d_ackBuilder(blobBufferFactory, d_allocator_p) , d_confirmBuilder(blobBufferFactory, d_allocator_p) , d_rejectBuilder(blobBufferFactory, d_allocator_p) -, d_itemPool_p(itemPool) +, d_itemPool(sizeof(Item), + bsls::BlockGrowth::BSLS_CONSTANT, + d_allocators.get(bsl::string("ItemPool"))) , d_buffer(1024, allocator) , d_secondaryBuffer(1024, allocator) , d_doStop(false) @@ -108,7 +109,7 @@ Channel::~Channel() void Channel::deleteItem(void* item, void* cookie) { - static_cast(cookie)->d_itemPool_p->deleteObject( + static_cast(cookie)->d_itemPool.deleteObject( static_cast(item)); } @@ -119,7 +120,7 @@ Channel::writePut(const bmqp::PutHeader& ph, bool keepWeakPtr) { bslma::ManagedPtr item( - new (d_itemPool_p->allocate()) + new (d_itemPool.allocate()) Item(ph, data, keepWeakPtr, state, d_allocator_p), this, deleteItem); @@ -136,7 +137,7 @@ Channel::writePush(const bsl::shared_ptr& payload, const bmqp::Protocol::SubQueueInfosArray& subQueueInfos, const bsl::shared_ptr& state) { - bslma::ManagedPtr item(new (d_itemPool_p->allocate()) + bslma::ManagedPtr item(new (d_itemPool.allocate()) Item(queueId, msgId, flags, @@ -160,7 +161,7 @@ Channel::writePush(int queueId, const bmqp::Protocol::SubQueueInfosArray& subQueueInfos, const bsl::shared_ptr& state) { - bslma::ManagedPtr item(new (d_itemPool_p->allocate()) + bslma::ManagedPtr item(new (d_itemPool.allocate()) Item(queueId, msgId, flags, @@ -182,7 +183,7 @@ Channel::writeAck(int status, const bsl::shared_ptr& state) { bslma::ManagedPtr item( - new (d_itemPool_p->allocate()) + new (d_itemPool.allocate()) Item(status, correlationId, guid, queueId, state, d_allocator_p), this, deleteItem); @@ -195,7 +196,7 @@ Channel::writeConfirm(int queueId, const bmqt::MessageGUID& guid, const bsl::shared_ptr& state) { - bslma::ManagedPtr item(new (d_itemPool_p->allocate()) + bslma::ManagedPtr item(new (d_itemPool.allocate()) Item(queueId, subQueueId, guid, @@ -213,7 +214,7 @@ Channel::writeReject(int queueId, const bmqt::MessageGUID& guid, const bsl::shared_ptr& state) { - bslma::ManagedPtr item(new (d_itemPool_p->allocate()) + bslma::ManagedPtr item(new (d_itemPool.allocate()) Item(queueId, subQueueId, guid, @@ -230,7 +231,7 @@ Channel::writeBlob(const bdlbb::Blob& data, bmqp::EventType::Enum type, const bsl::shared_ptr& state) { - bslma::ManagedPtr item(new (d_itemPool_p->allocate()) + bslma::ManagedPtr item(new (d_itemPool.allocate()) Item(data, type, state, d_allocator_p), this, deleteItem); @@ -253,7 +254,7 @@ void Channel::resetChannel() d_stateCondition.signal(); } // Wake up the writing thread in case it is blocked by 'popFront' - bslma::ManagedPtr item(new (d_itemPool_p->allocate()) + bslma::ManagedPtr item(new (d_itemPool.allocate()) Item(d_allocator_p), this, deleteItem); @@ -336,7 +337,7 @@ void Channel::flush() return; // RETURN } - bslma::ManagedPtr item(new (d_itemPool_p->allocate()) + bslma::ManagedPtr item(new (d_itemPool.allocate()) Item(d_allocator_p), this, deleteItem); diff --git a/src/groups/mqb/mqbnet/mqbnet_channel.h b/src/groups/mqb/mqbnet/mqbnet_channel.h index 65a00a27f..66f1c104f 100644 --- a/src/groups/mqb/mqbnet/mqbnet_channel.h +++ b/src/groups/mqb/mqbnet/mqbnet_channel.h @@ -348,8 +348,6 @@ class Channel { public: // PUBLIC TYPES - - typedef bdlma::ConcurrentPool ItemPool; typedef bmqc::MonitoredQueue< bdlcc::SingleConsumerQueue > > ItemQueue; @@ -366,18 +364,15 @@ class Channel { e_HWM = 5 // HWM }; - public: - // CONSTANTS - static const int k_ITEM_SIZE = sizeof(Item); // for ItemPool - private: // CONSTANTS static const int k_NAGLE_PACKET_SIZE = 1024 * 1024; // 1MB; // DATA + /// Allocator store to spawn new allocators for sub-components bmqma::CountingAllocatorStore d_allocators; - // Counting allocator + /// Counting allocator bslma::Allocator* d_allocator_p; bmqp::PutEventBuilder d_putBuilder; @@ -390,7 +385,7 @@ class Channel { bmqp::RejectEventBuilder d_rejectBuilder; - ItemPool* d_itemPool_p; + bdlma::ConcurrentPool d_itemPool; // Pool of 'Item' objects. ItemQueue d_buffer; @@ -513,7 +508,6 @@ class Channel { /// Create a new object using the specified `allocator`. Channel(bdlbb::BlobBufferFactory* blobBufferFactory, - ItemPool* itemPool, const bsl::string& name, bslma::Allocator* allocator); diff --git a/src/groups/mqb/mqbnet/mqbnet_channel.t.cpp b/src/groups/mqb/mqbnet/mqbnet_channel.t.cpp index a667e1117..2af80dba0 100644 --- a/src/groups/mqb/mqbnet/mqbnet_channel.t.cpp +++ b/src/groups/mqb/mqbnet/mqbnet_channel.t.cpp @@ -725,9 +725,7 @@ static void test1_write() // ------------------------------------------------------------------------ { bdlbb::PooledBlobBufferFactory bufferFactory(k_BUFFER_SIZE, s_allocator_p); - mqbnet::Channel::ItemPool itemPool(mqbnet::Channel::k_ITEM_SIZE, - s_allocator_p); - mqbnet::Channel channel(&bufferFactory, &itemPool, "test", s_allocator_p); + mqbnet::Channel channel(&bufferFactory, "test", s_allocator_p); bsl::shared_ptr testChannel( new (*s_allocator_p) @@ -793,9 +791,7 @@ static void test2_highWatermark() // ------------------------------------------------------------------------ { bdlbb::PooledBlobBufferFactory bufferFactory(k_BUFFER_SIZE, s_allocator_p); - mqbnet::Channel::ItemPool itemPool(mqbnet::Channel::k_ITEM_SIZE, - s_allocator_p); - mqbnet::Channel channel(&bufferFactory, &itemPool, "test", s_allocator_p); + mqbnet::Channel channel(&bufferFactory, "test", s_allocator_p); bsl::shared_ptr testChannel( new (*s_allocator_p) @@ -885,9 +881,7 @@ static void test3_highWatermarkInWriteCb() // ------------------------------------------------------------------------ { bdlbb::PooledBlobBufferFactory bufferFactory(k_BUFFER_SIZE, s_allocator_p); - mqbnet::Channel::ItemPool itemPool(mqbnet::Channel::k_ITEM_SIZE, - s_allocator_p); - mqbnet::Channel channel(&bufferFactory, &itemPool, "test", s_allocator_p); + mqbnet::Channel channel(&bufferFactory, "test", s_allocator_p); bsl::shared_ptr testChannel( new (*s_allocator_p) @@ -977,9 +971,7 @@ static void test4_controlBlob() // ------------------------------------------------------------------------ { bdlbb::PooledBlobBufferFactory bufferFactory(k_BUFFER_SIZE, s_allocator_p); - mqbnet::Channel::ItemPool itemPool(mqbnet::Channel::k_ITEM_SIZE, - s_allocator_p); - mqbnet::Channel channel(&bufferFactory, &itemPool, "test", s_allocator_p); + mqbnet::Channel channel(&bufferFactory, "test", s_allocator_p); bsl::shared_ptr testChannel( new (*s_allocator_p) @@ -1048,9 +1040,7 @@ static void test5_reconnect() // ------------------------------------------------------------------------ { bdlbb::PooledBlobBufferFactory bufferFactory(k_BUFFER_SIZE, s_allocator_p); - mqbnet::Channel::ItemPool itemPool(mqbnet::Channel::k_ITEM_SIZE, - s_allocator_p); - mqbnet::Channel channel(&bufferFactory, &itemPool, "test", s_allocator_p); + mqbnet::Channel channel(&bufferFactory, "test", s_allocator_p); bsl::shared_ptr testChannel( new (*s_allocator_p) @@ -1129,9 +1119,7 @@ static void test6_weakData() // ------------------------------------------------------------------------ { bdlbb::PooledBlobBufferFactory bufferFactory(k_BUFFER_SIZE, s_allocator_p); - mqbnet::Channel::ItemPool itemPool(mqbnet::Channel::k_ITEM_SIZE, - s_allocator_p); - mqbnet::Channel channel(&bufferFactory, &itemPool, "test", s_allocator_p); + mqbnet::Channel channel(&bufferFactory, "test", s_allocator_p); bsl::shared_ptr testChannel( new (*s_allocator_p) diff --git a/src/groups/mqb/mqbnet/mqbnet_clusterimp.cpp b/src/groups/mqb/mqbnet/mqbnet_clusterimp.cpp index 091d9e5db..a5c4ccdb2 100644 --- a/src/groups/mqb/mqbnet/mqbnet_clusterimp.cpp +++ b/src/groups/mqb/mqbnet/mqbnet_clusterimp.cpp @@ -45,12 +45,12 @@ namespace mqbnet { ClusterNodeImp::ClusterNodeImp(ClusterImp* cluster, const mqbcfg::ClusterNode& config, bdlbb::BlobBufferFactory* blobBufferFactory, - Channel::ItemPool* itemPool, bslma::Allocator* allocator) -: d_cluster_p(cluster) +: d_allocators(allocator) +, d_cluster_p(cluster) , d_config(config, allocator) , d_description(allocator) -, d_channel(blobBufferFactory, itemPool, config.name(), allocator) +, d_channel(blobBufferFactory, config.name(), d_allocators.get(config.name())) , d_identity(allocator) , d_isReading(false) { @@ -181,10 +181,8 @@ ClusterImp::ClusterImp(const bsl::string& name, const bsl::vector& nodesConfig, int selfNodeId, bdlbb::BlobBufferFactory* blobBufferFactory, - Channel::ItemPool* itemPool, bslma::Allocator* allocator) -: d_allocator_p(allocator) -, d_name(name, allocator) +: d_name(name, allocator) , d_nodesConfig(nodesConfig, allocator) , d_selfNodeId(selfNodeId) , d_selfNode(0) // set below @@ -199,7 +197,7 @@ ClusterImp::ClusterImp(const bsl::string& name, bsl::vector::const_iterator nodeIt; for (nodeIt = d_nodesConfig.begin(); nodeIt != d_nodesConfig.end(); ++nodeIt) { - d_nodes.emplace_back(this, *nodeIt, blobBufferFactory, itemPool); + d_nodes.emplace_back(this, *nodeIt, blobBufferFactory); d_nodesList.emplace_back(&d_nodes.back()); if (nodeIt->id() == selfNodeId) { d_selfNode = d_nodesList.back(); diff --git a/src/groups/mqb/mqbnet/mqbnet_clusterimp.h b/src/groups/mqb/mqbnet/mqbnet_clusterimp.h index 3d53a69d6..ce23a0f8a 100644 --- a/src/groups/mqb/mqbnet/mqbnet_clusterimp.h +++ b/src/groups/mqb/mqbnet/mqbnet_clusterimp.h @@ -75,6 +75,9 @@ class ClusterNodeImp : public ClusterNode { private: // DATA + /// Allocator store to spawn new allocators for sub-components + bmqma::CountingAllocatorStore d_allocators; + ClusterImp* d_cluster_p; // Cluster this node belongs to @@ -113,7 +116,6 @@ class ClusterNodeImp : public ClusterNode { ClusterNodeImp(ClusterImp* cluster, const mqbcfg::ClusterNode& config, bdlbb::BlobBufferFactory* blobBufferFactory, - Channel::ItemPool* itemPool, bslma::Allocator* allocator); /// Destructor. @@ -196,9 +198,6 @@ class ClusterImp : public Cluster { private: // DATA - bslma::Allocator* d_allocator_p; - // Allocator to use - bsl::string d_name; // Name of this Cluster @@ -277,7 +276,6 @@ class ClusterImp : public Cluster { const bsl::vector& nodesConfig, int selfNodeId, bdlbb::BlobBufferFactory* blobBufferFactory, - Channel::ItemPool* itemPool, bslma::Allocator* allocator); /// Destructor diff --git a/src/groups/mqb/mqbnet/mqbnet_dummysession.t.cpp b/src/groups/mqb/mqbnet/mqbnet_dummysession.t.cpp index b4ca99870..e20a2e68d 100644 --- a/src/groups/mqb/mqbnet/mqbnet_dummysession.t.cpp +++ b/src/groups/mqb/mqbnet/mqbnet_dummysession.t.cpp @@ -52,18 +52,14 @@ static void test1_BreathingTest() mqbcfg::ClusterDefinition clusterConfig(s_allocator_p); bdlbb::PooledBlobBufferFactory bufferFactory(1024, s_allocator_p); - mqbnet::Channel::ItemPool itemPool(mqbnet::Channel::k_ITEM_SIZE, - s_allocator_p); mqbnet::MockCluster mockCluster(clusterConfig, &bufferFactory, - &itemPool, s_allocator_p); mqbcfg::ClusterNode clusterNodeConfig(s_allocator_p); mqbnet::MockClusterNode mockClusterNode(&mockCluster, clusterNodeConfig, &bufferFactory, - &itemPool, s_allocator_p); bsl::shared_ptr testChannel; diff --git a/src/groups/mqb/mqbnet/mqbnet_mockcluster.cpp b/src/groups/mqb/mqbnet/mqbnet_mockcluster.cpp index 842a6472f..7596f1066 100644 --- a/src/groups/mqb/mqbnet/mqbnet_mockcluster.cpp +++ b/src/groups/mqb/mqbnet/mqbnet_mockcluster.cpp @@ -41,12 +41,11 @@ namespace mqbnet { MockClusterNode::MockClusterNode(MockCluster* cluster, const mqbcfg::ClusterNode& config, bdlbb::BlobBufferFactory* blobBufferFactory, - Channel::ItemPool* itemPool, bslma::Allocator* allocator) : d_cluster_p(cluster) , d_config(config, allocator) , d_description(allocator) -, d_channel(blobBufferFactory, itemPool, config.name(), allocator) +, d_channel(blobBufferFactory, config.name(), allocator) , d_identity(allocator) , d_isReading(false) { @@ -156,7 +155,6 @@ void MockCluster::notifyObserversOfNodeStateChange(ClusterNode* node, MockCluster::MockCluster(const mqbcfg::ClusterDefinition& config, bdlbb::BlobBufferFactory* blobBufferFactory, - Channel::ItemPool* itemPool, bslma::Allocator* allocator) : d_allocator_p(allocator) , d_config(config, allocator) @@ -171,7 +169,7 @@ MockCluster::MockCluster(const mqbcfg::ClusterDefinition& config, bsl::vector::const_iterator nodeIt; for (nodeIt = d_config.nodes().begin(); nodeIt != d_config.nodes().end(); ++nodeIt) { - d_nodes.emplace_back(this, *nodeIt, blobBufferFactory, itemPool); + d_nodes.emplace_back(this, *nodeIt, blobBufferFactory); d_nodesList.emplace_back(&d_nodes.back()); } } diff --git a/src/groups/mqb/mqbnet/mqbnet_mockcluster.h b/src/groups/mqb/mqbnet/mqbnet_mockcluster.h index c68ca501c..44582d10e 100644 --- a/src/groups/mqb/mqbnet/mqbnet_mockcluster.h +++ b/src/groups/mqb/mqbnet/mqbnet_mockcluster.h @@ -100,7 +100,6 @@ class MockClusterNode : public ClusterNode { MockClusterNode(MockCluster* cluster, const mqbcfg::ClusterNode& config, bdlbb::BlobBufferFactory* blobBufferFactory, - Channel::ItemPool* itemPool, bslma::Allocator* allocator); /// Destructor. @@ -251,7 +250,6 @@ class MockCluster : public Cluster { /// `allocator`. MockCluster(const mqbcfg::ClusterDefinition& config, bdlbb::BlobBufferFactory* blobBufferFactory, - Channel::ItemPool* itemPool, bslma::Allocator* allocator); /// Destructor diff --git a/src/groups/mqb/mqbnet/mqbnet_transportmanager.cpp b/src/groups/mqb/mqbnet/mqbnet_transportmanager.cpp index b1f689745..5dab27780 100644 --- a/src/groups/mqb/mqbnet/mqbnet_transportmanager.cpp +++ b/src/groups/mqb/mqbnet/mqbnet_transportmanager.cpp @@ -103,7 +103,7 @@ void TransportManager::onClusterReleased(void* object, void* transportManager) cluster->closeChannels(); // And delete the cluster - self->d_allocator_p->deleteObject(cluster); + self->d_allocators.get(cluster->name())->deleteObject(cluster); } int TransportManager::createAndStartTcpInterface( @@ -112,14 +112,16 @@ int TransportManager::createAndStartTcpInterface( { // executed by the *MAIN* thread - d_tcpSessionFactory_mp.load(new (*d_allocator_p) + bslma::Allocator* alloc = d_allocators.get("Interface" + + bsl::to_string(config.port())); + d_tcpSessionFactory_mp.load(new (*alloc) TCPSessionFactory(config, d_scheduler_p, d_blobBufferFactory_p, d_negotiator_mp.get(), d_statController_p, - d_allocator_p), - d_allocator_p); + alloc), + alloc); return d_tcpSessionFactory_mp->start(errorDescription); } @@ -348,11 +350,10 @@ TransportManager::TransportManager(bdlmt::EventScheduler* scheduler, bslma::ManagedPtr& negotiator, mqbstat::StatController* statController, bslma::Allocator* allocator) -: d_allocator_p(allocator) +: d_allocators(allocator) , d_state(e_STOPPED) , d_scheduler_p(scheduler) , d_blobBufferFactory_p(blobBufferFactory) -, d_itemPool(Channel::k_ITEM_SIZE, bsls::BlockGrowth::BSLS_CONSTANT, allocator) , d_negotiator_mp(negotiator) , d_statController_p(statController) , d_tcpSessionFactory_mp(0) @@ -520,14 +521,11 @@ int TransportManager::createCluster( userDataSp = *userData; } - bslma::ManagedPtr cluster(new (*d_allocator_p) - ClusterImp(name, - nodes, - myNodeId, - d_blobBufferFactory_p, - &d_itemPool, - d_allocator_p), - d_allocator_p); + bslma::Allocator* alloc = d_allocators.get(name); + bslma::ManagedPtr cluster( + new (*alloc) + ClusterImp(name, nodes, myNodeId, d_blobBufferFactory_p, alloc), + alloc); // At the moment, only TCP is supported, validate that bsl::vector::const_iterator nodeIt; @@ -558,7 +556,7 @@ int TransportManager::createCluster( // config, the node must exist bsl::shared_ptr connectionState; - connectionState.createInplace(d_allocator_p); + connectionState.createInplace(d_allocators.get("ConnectionStates")); connectionState->d_endpoint = tcpConfig.endpoint(); connectionState->d_isClusterConnection = true; @@ -636,7 +634,7 @@ int TransportManager::connectOut(bsl::ostream& errorDescription, } bsl::shared_ptr state; - state.createInplace(d_allocator_p); + state.createInplace(d_allocators.get("ConnectionStates")); { bslmt::LockGuard guard(&d_mutex); // d_mutex LOCK diff --git a/src/groups/mqb/mqbnet/mqbnet_transportmanager.h b/src/groups/mqb/mqbnet/mqbnet_transportmanager.h index ccfb39da3..82ea9744f 100644 --- a/src/groups/mqb/mqbnet/mqbnet_transportmanager.h +++ b/src/groups/mqb/mqbnet/mqbnet_transportmanager.h @@ -181,8 +181,8 @@ class TransportManager { private: // DATA - bslma::Allocator* d_allocator_p; - // Allocator to use + /// Allocator store to spawn new allocators for sub-components + bmqma::CountingAllocatorStore d_allocators; bsls::AtomicInt d_state; // enum State. Always changed on @@ -195,8 +195,6 @@ class TransportManager { // BlobBufferFactory to use by the // sessions - Channel::ItemPool d_itemPool; - bslma::ManagedPtr d_negotiator_mp; // Negotiation to use diff --git a/src/groups/mqb/mqbs/mqbs_filestore.t.cpp b/src/groups/mqb/mqbs/mqbs_filestore.t.cpp index 6977a451b..a13319941 100644 --- a/src/groups/mqb/mqbs/mqbs_filestore.t.cpp +++ b/src/groups/mqb/mqbs/mqbs_filestore.t.cpp @@ -145,7 +145,6 @@ struct Tester { // DATA bdlmt::EventScheduler d_scheduler; bdlbb::PooledBlobBufferFactory d_bufferFactory; - mqbnet::Channel::ItemPool d_itemPool; bsl::string d_clusterLocation; bsl::string d_clusterArchiveLocation; BlobSpPool d_blobSpPool; @@ -170,7 +169,6 @@ struct Tester { Tester(const char* location) : d_scheduler(bsls::SystemClockType::e_MONOTONIC, s_allocator_p) , d_bufferFactory(1024, s_allocator_p) - , d_itemPool(mqbnet::Channel::k_ITEM_SIZE, s_allocator_p) , d_clusterLocation(location, s_allocator_p) , d_clusterArchiveLocation(location, s_allocator_p) , d_blobSpPool(bdlf::BindUtil::bind(&createBlob, @@ -225,7 +223,6 @@ struct Tester { d_cluster_mp.load(new (*s_allocator_p) mqbnet::MockCluster(d_clusterCfg, &d_bufferFactory, - &d_itemPool, s_allocator_p), s_allocator_p); d_node_p = d_cluster_mp->lookupNode(k_NODE_ID);