/// Constructor
EventsListsShmemStorage::EventsListsShmemStorage(const std::string &segmentName,
                                                 const std::string &elName,
                                                 size_t size, size_t chunksCnt,
                                                 size_t pixelsCount)
    : EventsListsShmemManager(segmentName, elName, 0) {
  try {
    boost::interprocess::permissions perm;
    perm.set_unrestricted();
    m_segment = std::make_unique<ip::managed_shared_memory>(
        ip::create_only, m_segmentName.c_str(), size, nullptr, perm);
    m_allocatorInstance =
        std::make_unique<VoidAllocator>(m_segment->get_segment_manager());
    m_chunks = m_segment->construct<Chunks>(m_chunksName.c_str())(
        chunksCnt, EventLists(pixelsCount, EventList(alloc()), alloc()),
        alloc());
  } catch (std::exception const &ex) {
    std::cout << ex.what() << "\n";
    std::rethrow_if_nested(ex);
  }
}
Пример #2
0
std::vector<double> beatTrack(const AgentParameters &params, const EventList &events)
      {
      return beatTrack(params, events, EventList());
      }