Commit Graph

577 Commits

Author SHA1 Message Date
Moritz Kobitzsch
01a2c66472 rip out unused m_node_info_list 2016-10-27 18:51:59 +02:00
Huyen Chau Nguyen
cf35bbeb50 refactor function names; consolidate readCount() functions;
remove templated types as much as possible for type safety;
add more comments;
clean up code, add const if possible;
2016-10-26 13:18:52 -07:00
Huyen Chau Nguyen
fe94977c9b refactor loading code of .ramIndex files and move to io.hpp 2016-10-26 13:18:52 -07:00
Huyen Chau Nguyen
69a60686dc refactor loading code of .datasource_indexes and .datasource_names files and move to io.hpp 2016-10-26 13:18:52 -07:00
Huyen Chau Nguyen
7b97e1035f refactor loading code of .nodes and .edges files and move to io.hpp 2016-10-26 13:18:52 -07:00
karenzshea
c4f010e363 read properties stream to size of properties object, not 1 2016-10-26 13:18:52 -07:00
karenzshea
51ebadfc45 deduplicate code for loading profile properties into io.hpp 2016-10-26 13:18:52 -07:00
Daniel J. Hofmann
a933b5d949 Prevents the Matching getting confused when users are time-travelling. 2016-10-25 10:42:24 -07:00
Moritz Kobitzsch
e8b947bca6 fix coordinate extraction with less than 1 meters past lane distance 2016-10-25 10:07:09 -07:00
Michael Krasnyk
7753845f5c Make thread-locked access to stxxl containers
From stxxl FAQ: "you should not share a data structure between
threads (without implementing proper locking yourself)."
The access to name_char_data can be implicitly parallelized
if _GLIBCXX_PARALLEL is defined and invalidate local-thread iterators.
2016-10-25 10:03:26 -07:00
karenzshea
fead71da54 add comment on find() [skip ci] 2016-10-21 14:23:02 -07:00
karenzshea
c26e90cac0 sort/unique turn penalty lookup 2016-10-21 14:23:02 -07:00
karenzshea
d4e5710928 parse turn penalties in parallel, add unique and sorting steps 2016-10-21 14:23:02 -07:00
Patrick Niklaus
b8795c7341 Rename increasingly inaccuratly named distance member of QueryEdge to weight 2016-10-21 21:00:02 +02:00
Moritz Kobitzsch
e3c2d4dddc use-lane can occur in roundabouts as well 2016-10-20 14:28:33 -07:00
jakepruitt
c30784895d clang-format and remove debug 2016-10-20 11:32:28 -07:00
jakepruitt
42271d99b2 Store node ID's and weights separately in CompressedEdgeContainer
Removes CompressedEdges from the extractor and shared data format by
directly serializing vectors of node ID's, forward weights and reverse
weights for each node-based-edge

Refs #2575
2016-10-20 11:32:28 -07:00
Moritz Kobitzsch
ecee13bffa actually calculate distance instead of using .distance which is a timing value 2016-10-20 12:27:02 +02:00
Moritz Kobitzsch
5e167b8745 Turn Angles in OSRM were computed using a lookahead of 10 meters.
This PR adds more advanced coordinate extraction, analysing the road
to detect offsets due to OSM way modelling.

In addition it improves the handling of bearings. Right now OSM reports
bearings simply based on the very first coordinate along a way.
With this PR, we store the bearings for a turn correctly, making the
bearings for turns correct.
2016-10-20 10:47:29 +02:00
Moritz Kobitzsch
1f8ca2879f fix u-turn collapsing onto empty name / in presence of turning use lane 2016-10-20 09:39:38 +02:00
Huyen Chau Nguyen
316ef305de Refactor loading code for timestamp file 2016-10-19 17:26:21 -07:00
Daniel J. Hofmann
ab1a9271c8 Canonicalizes Spaces in Semicolon Stringlists, fixes #3086 2016-10-19 14:14:18 -07:00
Daniel J. Hofmann
18bc02f087 Collapses Double OSRM <-> Engine <-> .. PImpl Indirection, Resolves #3019. 2016-10-19 13:42:08 -07:00
Moritz Kobitzsch
2a2abe9e0f remove unused class DiscreteAngle 2016-10-19 21:40:45 +02:00
Patrick Niklaus
b7ee38eca7 Refactored loading code for .hsgr file 2016-10-19 19:59:23 +02:00
Patrick Niklaus
769485cc2f Initilialize tbb task scheduler correctly. Thanks @oxidase! 2016-10-19 18:30:06 +02:00
Patrick Niklaus
8205c34abe Fix duplicated code in tile plugin 2016-10-18 22:11:43 +02:00
Patrick Niklaus
81c5cba0e5 Recover from stale mutexes with force unlocking and retry 2016-10-18 21:58:50 +02:00
Patrick Niklaus
847f530c8e Only keep reader lock on shared memory during queries. 2016-10-18 21:58:50 +02:00
Patrick Niklaus
c69545c47a Don't block all requests to switch data
This switchtes the data even if there are requests still running on the
old data. osrm-datastore then waits until all of these old requests have
finished before freeing the old regions.

This also means that osrm-datastore will return with an error if there
is a data update currenlty in progress.
2016-10-18 21:58:50 +02:00
Patrick Niklaus
1557ff81bc Simplify the locking logic 2016-10-18 21:58:50 +02:00
Patrick Niklaus
ebac9f586b Adapt SharedMemory ownership changes from @oxidase
We don't leak any pointers anymore and make owning the shared memory
explicit.
2016-10-18 21:58:50 +02:00
Patrick Niklaus
2512cf386d Add better debug log output 2016-10-18 21:58:50 +02:00
Patrick Niklaus
ceaf362326 Make SharedDataFacade immutable 2016-10-18 21:58:50 +02:00
Huyen Chau Nguyen
06d13b6954 run clang-format on edited files 2016-10-17 15:27:14 -07:00
Huyen Chau Nguyen
d0c142b9c7 remove util self-written make_unique and use C++14 stdlib make_uniqe 2016-10-17 15:27:14 -07:00
Daniel J. Hofmann
8ed6bb8a1b Asserts on valid v5 conforming maneuver types, resolves #3035 2016-10-14 15:59:26 +02:00
karenzshea
72fa35da10 add a toolkit function to find lanes to the left/right of turn lanes 2016-10-13 17:59:25 +02:00
Moritz Kobitzsch
17eb664597 don't get disturbed by service roads in obvious discovery 2016-10-13 16:10:59 +02:00
karenzshea
ee012ae2da valid tiles are >= z12 2016-10-12 10:03:43 -04:00
Daniel J. Hofmann
32dcce88f7 Fixes missing memory include for make_unique; reported in #3018.
https://github.com/Project-OSRM/osrm-backend/issues/3018#issuecomment-253118518
2016-10-12 12:55:05 +02:00
Moritz Kobitzsch
6cf99c886f don't emit invalid on sliproads with incompatible modes 2016-10-11 10:59:10 +02:00
Patrick Niklaus
240a7696da Catch boost bad_numeric_cast exception and let parser return an error 2016-10-11 00:04:53 +02:00
Patrick Niklaus
9eb7fc03ce Use a shared (!) reader writer lock to protect CURRENT_REGIONS
This fixes issue #3016.
2016-10-10 12:13:45 +02:00
Moritz Kobitzsch
036475afd0 restructure for readability 2016-10-07 09:35:16 +02:00
Moritz Kobitzsch
378322f6e3 don't provide turn-straight next to suppress-straight 2016-10-07 09:35:16 +02:00
jakepruitt
49a28b478c Remove TODO - tiles are tested and seem to work 2016-10-06 10:09:57 -07:00
Lauren Budorick
a75e16e26b Deduplicate foward/reverse geometries
Changes the internal representation of compressed geometries to be a
single array shared between forward and reverse geometries that can be
read in either direction. Includes a change on
extractor::OriginalEdgeData to store via_geometry ids that indicate
which direction to read the geometry for that edge based edge.

Closes #2592
2016-10-06 10:09:57 -07:00
Moritz Kobitzsch
73179641b1 clang-format code 2016-10-06 14:06:19 +02:00
Patrick Niklaus
1c2ead8fb8 Make DataFacade local to every request
This is the first step to having fine grained locking on data updates,
see issue #2570.
2016-10-06 12:56:38 +02:00