50 size_t session{(size_t)getpid() * 1000};
51 fair::mq::ProgOptions config;
52 config.SetProperty<std::string>(
"session",
std::to_string(session));
54 auto factoryZMQ = fair::mq::TransportFactory::CreateTransportFactory(
"zeromq");
55 auto factorySHM = fair::mq::TransportFactory::CreateTransportFactory(
"shmem",
"transportallocatormap_test", &config);
56 auto allocZMQ = getTransportAllocator(factoryZMQ.get());
57 auto allocSHM = getTransportAllocator(factorySHM.get());
58 BOOST_CHECK(allocZMQ !=
nullptr && allocSHM != allocZMQ);
59 auto _tmp = getTransportAllocator(factoryZMQ.get());
67 size_t session{(size_t)getpid() * 1000 + 1};
68 fair::mq::ProgOptions config;
69 config.SetProperty<std::string>(
"session",
std::to_string(session));
71 auto factoryZMQ = fair::mq::TransportFactory::CreateTransportFactory(
"zeromq");
72 auto factorySHM = fair::mq::TransportFactory::CreateTransportFactory(
"shmem",
"allocator_test", &config);
73 auto allocZMQ = getTransportAllocator(factoryZMQ.get());
74 auto allocSHM = getTransportAllocator(factorySHM.get());
79 std::vector<testData, polymorphic_allocator<testData>>
v(polymorphic_allocator<testData>{allocZMQ});
105 size_t session{(size_t)getpid() * 1000 + 2};
106 fair::mq::ProgOptions config;
107 config.SetProperty<std::string>(
"session",
std::to_string(session));
109 auto factoryZMQ = fair::mq::TransportFactory::CreateTransportFactory(
"zeromq");
110 auto factorySHM = fair::mq::TransportFactory::CreateTransportFactory(
"shmem",
"getMessage_test", &config);
111 auto allocZMQ = getTransportAllocator(factoryZMQ.get());
112 auto allocSHM = getTransportAllocator(factorySHM.get());
116 fair::mq::MessagePtr
message{
nullptr};
118 int* messageArray{
nullptr};
122 std::vector<testData, polymorphic_allocator<testData>>
v(polymorphic_allocator<testData>{allocZMQ});
126 void* vectorBeginPtr = &
v[0];
132 messageArray =
static_cast<int*
>(
message->GetData());
133 BOOST_CHECK(messageArray[0] == 1 && messageArray[1] == 2 && messageArray[2] == 3);
137 std::vector<testData, polymorphic_allocator<testData>>
v(polymorphic_allocator<testData>{allocZMQ});
141 void* vectorBeginPtr = &
v[0];
147 messageArray =
static_cast<int*
>(
message->GetData());
148 BOOST_CHECK(messageArray[0] == 4 && messageArray[1] == 5 && messageArray[2] == 6);
157 size_t session{(size_t)getpid() * 1000 + 3};
158 fair::mq::ProgOptions config;
159 config.SetProperty<std::string>(
"session",
std::to_string(session));
161 auto factoryZMQ = fair::mq::TransportFactory::CreateTransportFactory(
"zeromq");
162 auto factorySHM = fair::mq::TransportFactory::CreateTransportFactory(
"shmem",
"adoptVector_test", &config);
163 auto allocZMQ = getTransportAllocator(factoryZMQ.get());
164 auto allocSHM = getTransportAllocator(factorySHM.get());
170 auto messageAddr =
message.get();
174 auto adoptedOwner = adoptVector<testData>(3, std::move(
message));
180 BOOST_CHECK(reclaimedMessage.get() == messageAddr);
183 auto modified = adoptVector<testData>(3, std::move(reclaimedMessage));
184 modified.emplace_back(9);
188 auto modifiedMessage =
getMessage(std::move(modified));
195 constexpr int size = 5;
197 auto const* bufferdata =
buffer.get();
202 BOOST_CHECK_THROW(bufferclone.resize(2 *
size), std::runtime_error);
204 auto vecbuf = std::make_unique<std::vector<int>>(
size);
205 auto const* vectordata = vecbuf->data();
210 BOOST_CHECK_THROW(vecclone.resize(2 *
size), std::runtime_error);
212 std::vector<int, o2::pmr::SpectatorAllocator<int>> vecmove;
213 vecmove = std::move(vecclone);