SharedDataFacade()
    {
        data_timestamp_ptr = (SharedDataTimestamp *)SharedMemoryFactory::Get(
                                 CURRENT_REGIONS, sizeof(SharedDataTimestamp), false, false)->Ptr();
        CURRENT_LAYOUT = LAYOUT_NONE;
        CURRENT_DATA = DATA_NONE;
        CURRENT_TIMESTAMP = 0;

        // load data
        CheckAndReloadFacade();
    }
    SharedDataFacade()
    {
        if (!SharedMemory::RegionExists(CURRENT_REGIONS))
        {
            throw osrm::exception("No shared memory blocks found, have you forgotten to run osrm-datastore?");
        }
        data_timestamp_ptr = (SharedDataTimestamp *)SharedMemoryFactory::Get(
                                 CURRENT_REGIONS, sizeof(SharedDataTimestamp), false, false)
                                 ->Ptr();
        CURRENT_LAYOUT = LAYOUT_NONE;
        CURRENT_DATA = DATA_NONE;
        CURRENT_TIMESTAMP = 0;

        // load data
        CheckAndReloadFacade();
    }