Denis Chaplygin
97270ae473
Fixed nested offsets inside of the flatbuffers structure
2019-08-26 11:09:38 +03:00
Denis Chaplygin
a9c187c99b
Updated changelog entry
2019-08-26 11:09:38 +03:00
Denis Chaplygin
2a1593fe05
Flatbuffers now uses floats instead of double. We do not use that precision anyway and it make output much smaller.
2019-08-26 11:08:56 +03:00
Denis Chaplygin
73f544d4da
Slightly changed the serialization order.
2019-08-26 11:08:56 +03:00
Denis Chaplygin
889c82516f
Set flatbuffers root type and removed unneded array for rows/cols
2019-08-26 11:08:56 +03:00
Denis Chaplygin
306c047c14
Generalized flatbuffers response generation in 'Route','Trip','Match' services.
2019-08-26 11:08:56 +03:00
Denis Chaplygin
533f1ffc6b
Inlined routes and waypoints, as all services are using at least one of those object, so there is no need for another one level of indirection.
2019-08-26 11:08:56 +03:00
Denis Chaplygin
90191c9f34
Added flatbuffers output support to the 'Match' service
2019-08-26 11:08:56 +03:00
Denis Chaplygin
b7e9e5f2c0
Added flatbuffers output support to the 'Trip' service.
2019-08-26 11:08:56 +03:00
Denis Chaplygin
13287d9970
Optimizing FB schema:
...
* Replaced Response union with nullable fields
* "Ok" code replaced with a boolean and a separate structure for a error code and message.
* Inlined geometry, thus removing one layer of indirection.
2019-08-26 11:08:56 +03:00
Denis Chaplygin
affa8a4653
Added flatbuffers output support to the 'Route' service.
2019-08-26 11:08:56 +03:00
Denis Chaplygin
9d7a74445d
Added flatbuffers output support to the 'Nearest' service.
2019-08-26 11:08:56 +03:00
Denis Chaplygin
acd3e81ab4
Removed ineffectivness in the serialization schema. Positions are
...
structs now and distance/duration matrices are just arrays.
2019-08-26 11:08:56 +03:00
Denis Chaplygin
ea111129dd
Added full flatbuffers support to the Table service
2019-08-26 11:08:56 +03:00
Denis Chaplygin
7ddda105a3
Added flatbuffers support to the PluginBase::Error
...
This changes BREAKS osrm.
2019-08-26 11:08:56 +03:00
Denis Chaplygin
75aadb0f3f
Passed ResultT down to engine plugins, so now they can form replies in different formats.
2019-08-26 11:08:56 +03:00
Denis Chaplygin
f6f86b2a52
Added flatbuffers schema.
2019-08-26 11:08:56 +03:00
Denis Chaplygin
59a83bd537
Added output format parser to the other services.
...
Same as for Route service, you can now specify either json or flatbuffers
as output format for the other services (except Tile service, where it
makes no sense).
2019-08-26 11:08:56 +03:00
Denis Chaplygin
59ca7840f4
Added output format parser to the Route service.
...
It is possible now to choose between json and flatbuffers (not yet implemented) output format.
Only route service is supported atm.
2019-08-26 11:08:56 +03:00
Denis Chaplygin
9efcab2108
Receive timeout should only be active for a second and
...
following requests on a keep-alive connections.
2019-08-23 12:21:54 +03:00
Denis Chaplygin
a7b7d77e1f
Formatted the code.
2019-08-23 12:21:54 +03:00
Denis Chaplygin
22550d078f
Added timeout handling for keep-alive operations.
2019-08-23 12:21:54 +03:00
Denis Chaplygin
a0582a3e68
Added keep-alive support to the http server.
2019-08-23 12:21:54 +03:00
Denis Chaplygin
92c7b6fbd1
Added 'Connection' header extraction.
2019-08-23 12:21:54 +03:00
Přemysl Šťastný
b4f849adaa
Solved this warning:
...
In file included from /home/travis/build/Project-OSRM/osrm-backend/include/storage/shared_data_index.hpp:4,
from /home/travis/build/Project-OSRM/osrm-backend/include/engine/datafacade/contiguous_block_allocator.hpp:4,
from /home/travis/build/Project-OSRM/osrm-backend/include/engine/datafacade/contiguous_internalmem_datafacade.hpp:5,
from /home/travis/build/Project-OSRM/osrm-backend/include/engine/plugins/nearest.hpp:5,
from /home/travis/build/Project-OSRM/osrm-backend/src/engine/plugins/nearest.cpp:1:
/home/travis/build/Project-OSRM/osrm-backend/include/storage/shared_datatype.hpp:102:26: warning: inline function ‘virtual void* osrm::storage::BaseDataLayout::GetBlockPtr(void*, const string&) const’ used but never defined
virtual inline void *GetBlockPtr(void *base_ptr, const std::string &name) const = 0;
2019-05-28 12:45:47 +02:00
Daniel Patterson
2c7c18fd24
Fix bug in snapping=any when bearings or radiuses are supplied.
2019-02-15 20:42:30 -08:00
Daniel Patterson
4f0ec785f6
Configurable snapping behaviour ( #5361 )
2019-02-14 17:14:50 -08:00
Lev Dragunov
8b45ff7a18
Store metadata about original OSM data, and return it in the API response, if available.
2019-01-30 15:31:56 -08:00
Daniel Patterson
381d492a8f
Add waypoints parameter to viaroute API ( #5345 )
...
* Add silent waypoints to viaroute API.
2019-01-24 16:19:59 -08:00
Daniel Patterson
1d82b01816
Count reverse offset from the back of the geometry, not the front.
2018-12-15 21:07:06 -07:00
Daniel Patterson
81bc2f41a6
When matching, ignore 'is_startpoint' propert, snap to any edge ( #5297 )
...
Includes all edges in the rtree, but adds an `is_startpoint` flag to each. Most plugin behaviour remains unchanged (non-startpoint edges aren't used as snapping candidates), but for map matching, we allow snapping to any edge. This fixes map-matching across previously non-is_startpoint edges, like ferries, private service roads, and a few others.
2018-12-13 17:10:32 -07:00
Daniel Patterson
06e010b4d0
Include information on estimates in table response ( #5259 )
...
* Revert "Remove estimated_cells value in the response."
This reverts commit 364e35af06
.
* Update changelog.
* fix linting
* adjust fallback_speed check
* change [].includes to [].indexOf !== -1 for compatibility with node 4
* change param name
* more cuke tests
* fix formatting
2018-12-11 12:21:57 -05:00
Kajari Ghosh
01ca32c81c
Fix fallback speed validity checks ( #5300 )
...
* fix fallback_speeds check to only accept values > 0
* add invalid_fallback_speed
2018-12-10 14:53:30 -05:00
Kajari Ghosh
2e17f3010a
Add a multiplier to the matrix ( #5298 )
...
* add a multiplier to the matrix
* add rounding
* remove scale_factor restrictions
* clamp for overflow error
* update check to match error message
* enforce clamping on < 0 and increase test coverage
* add an invalid scale_factor value to node tests
* increase test coverage
* changelog
2018-12-10 13:41:44 -05:00
Kajari Ghosh
98ea2a0b09
remove destination/sources length <= coordinates length check ( #5289 )
2018-12-04 13:35:26 -05:00
Daniel Patterson
4dde9c7bbe
Include distance from input to snapped for all waypoints, not just on the nearest
service.
2018-11-02 15:30:52 -07:00
Daniel Patterson
364e35af06
Remove estimated_cells value in the response.
2018-11-02 01:08:59 -07:00
Daniel Patterson
985ab58f45
Add feature to fill null table entries with as-the-crow-flies estimates.
2018-11-02 01:07:24 -07:00
Daniel Patterson
a67c4bf84d
Calculating durations is unavoidable due to tie-breaking minimums, but we can avoid accumulating distances if they're not requested.
2018-10-30 15:41:06 -07:00
Daniel Patterson
498259b220
Replace dynamic distance calculation for table plugin with pre-calculated distances on shortcuts, avoiding unpacking cost.
...
Adds approx 10% to total data size. Speeds up large table requests by 2 orders of magnitude.
Co-authored-by: Kajari Ghosh <ghoshkaj@gmail.com>
2018-10-30 15:41:06 -07:00
Daniel Patterson
954121634f
Merge branch 'master' into ghoshkaj_mmaperize
2018-10-29 09:52:50 -07:00
Daniel Patterson
594a45e7e0
Re-use msinttypes bundled with RapidJSON when compiling on Windows. ( #5249 )
2018-10-29 09:51:56 -07:00
Daniel Patterson
b7e7d32361
Expose new --mmap switch
(mmap_memory: true
in NodeJS), and run test suite in this mode, as well as shared memory mode.
2018-10-26 23:54:00 -07:00
Daniel Patterson
2f9cb44368
mmap
tarfiles directly when mmapping is enabled, instead of copying data into separate mmapped block
...
Co-authored-by: Kajari Ghosh <ghoshkaj@gmail.com>
2018-10-26 23:53:59 -07:00
Daniel Patterson
d80318f8ea
Match serialized bit-packing for vector<bool> to match in-memory layout for vector_view<bool> so that data can be directly mmapped.
2018-10-26 23:53:50 -07:00
Kajari Ghosh
5597415f28
Revert "Improve speed of Map Matching" ( #5196 )
...
* Revert "Update changelog"
This reverts commit 9b779c704f
.
* Revert "Fix formating"
This reverts commit 5bd7d04fe3
.
* Revert "Fix bug in computation of distance offset for phantom node"
This reverts commit 0f78f7b2cc
.
* Revert "Adjust text cases for flightly different matching due to rounding"
This reverts commit 8473be69d2
.
* Revert "Round network distance to deci-meter to retain previous behavior"
This reverts commit c0124f7d77
.
* Revert "Preserve heap state in map matching"
This reverts commit b630b4e32a
.
* Revert "Use distance functions from many to many"
This reverts commit 89fabc1b9c
.
* Revert "Use FCC algorithm for map matching distance calculation"
This reverts commit a649a8a5cf
.
2018-09-06 12:05:28 -04:00
Daniel Patterson
0971f06193
Add option to node bindings to return result as a pre-generated JSON string (this avoids a lot of overhead, and moves JSON string rendering out of the main event loop).
2018-09-05 15:09:13 -07:00
Daniel Patterson
85515f063a
Render floating point numbers to string using Grisu2 algorithmt instead of stdlib to speed up JSON generation.
2018-09-05 14:20:47 -07:00
Daniel Patterson
69d7825542
Increase allowed shared memory regions to 512 from ~120
2018-09-05 11:48:02 -07:00
Patrick Niklaus
0f78f7b2cc
Fix bug in computation of distance offset for phantom node
2018-08-02 12:19:24 +02:00
Patrick Niklaus
b630b4e32a
Preserve heap state in map matching
2018-08-02 12:19:24 +02:00
Patrick Niklaus
89fabc1b9c
Use distance functions from many to many
2018-08-02 12:19:24 +02:00
Patrick Niklaus
a649a8a5cf
Use FCC algorithm for map matching distance calculation
2018-08-02 12:19:24 +02:00
Patrick Niklaus
c459530cb6
Address PR comments
2018-05-08 15:50:25 +00:00
Kajari Ghosh
2a15e6dec8
Add support for annotations=distances in MLD
...
This commit brings feature parity with CH for the `table` pluging.
2018-05-08 15:50:25 +00:00
Michael Krasnyk
cacb162520
Review and rebase updates
2018-04-28 08:59:18 +02:00
Michael Krasnyk
9695fa7941
Remove weight and duration from customizer::EdgeBasedGraphEdgeData
2018-04-28 08:59:18 +02:00
Michael Krasnyk
fd9bebbfa7
Add EBG node durations
2018-04-28 08:59:18 +02:00
Michael Krasnyk
db18e8669f
Always read .osrm.enw file in updater
2018-04-28 08:59:18 +02:00
Michael Krasnyk
9b4a4fdd82
Add customizer::MultiLevelGraph
2018-04-28 08:59:18 +02:00
Michael Krasnyk
8adbfe06ed
Throw an exception if a shared region is not found
2018-04-28 08:59:18 +02:00
Huyen Chau Nguyen
4e68f3a7e1
change haversine computation to cheap ruler in distance tables
2018-04-27 05:21:08 +02:00
Daniel Patterson
a6cf2eee7e
Use faster method for calculating distances.
...
fix cmakelist
2018-04-27 05:21:08 +02:00
Kajari Ghosh
89f6e2d55b
Parse table annotations param correctly ( #5050 )
...
* fix incorrect parameter parsing for node osrm and add tests
* fix boost spirit grammar parsing for annotations
* return NotImplemented when distance annotation is requested for MLD in table plugin
* update docs
2018-04-24 11:05:35 -04:00
Michael Krasnyk
c628ecbf24
Update tile unit tests
2018-04-24 15:40:57 +02:00
Kajari Ghosh
14860b62e9
Unpack paths and return total distance in matrix plugin for CH ( #4990 )
2018-04-20 18:18:55 -04:00
Michael Krasnyk
b2aeb47630
Remove dummy edges before inplace permutation
2018-04-19 12:18:48 +02:00
karenzshea
e3b831364f
empty list of shmem regions if none found
2018-04-13 12:07:10 +02:00
karenzshea
730d2b5ef2
log err instead of throwing when no shmem regions found
2018-04-13 12:07:10 +02:00
Michael Krasnyk
16abee1022
Avoid using signed integers for edge IDs
2018-04-12 10:03:37 +02:00
Michael Krasnyk
17cd1575f6
Use base-256 encoding for files larger 68G
...
Reference:
http://lists.busybox.net/pipermail/busybox/2011-May/075596.html
2018-04-10 21:12:39 +02:00
Patrick Niklaus
473ebfcbf6
Fix debug printing for coordinates
2018-04-10 18:08:18 +02:00
Michael Krasnyk
c4bf450fc6
Restore storage constructors with one arguments
2018-04-09 15:08:00 +02:00
Patrick Niklaus
bf2b45120a
Use ArrayStorage for boundary nodes to optimize MLD
...
For the MLD algorithm we can partition the NodeID range into boundary
and non-boundary nodes. Since there are only we boundary nodes we can
use the ArrayStorage for those yielding much faster query times.
2018-04-09 15:08:00 +02:00
Patrick Niklaus
7edf0f218c
Better statistics for osrm-partition and osrm-custimize
2018-04-09 13:39:39 +02:00
Patrick Niklaus
600ca06166
Simplify toEdges and make it more robust against accidental memory allocations
2018-04-09 13:03:28 +02:00
Michael Krasnyk
8d8042ebae
Use ranges with fixed types
2018-04-09 11:05:01 +02:00
Kajari Ghosh
be123cd72f
Use ranges in datafacade instead of vectors
...
Range type must use immutable references due to a
regression in `boost::any_range`.
References:
https://svn.boost.org/trac10/ticket/10493
https://stackoverflow.com/questions/42427395/boostany-range-with-optimization-level-o2-causes-crash/42427662
2018-04-09 11:05:01 +02:00
Patrick Niklaus
29d1b34140
Fix formating
2018-04-07 00:22:29 +02:00
Patrick Niklaus
a915542916
Add option to only update the metric dependent data
2018-04-07 00:22:29 +02:00
Patrick Niklaus
fea07f343b
Load data in two separate data regions
2018-04-07 00:22:29 +02:00
Patrick Niklaus
c7daa521ad
Address PR comments
2018-04-05 15:12:47 +02:00
Patrick Niklaus
4610fd9ff1
Fix formating
2018-04-05 15:12:47 +02:00
Patrick Niklaus
0e8b8b4901
Add nodejs test for dataset name
2018-04-05 15:12:47 +02:00
Patrick Niklaus
2c80f76004
Add support for naming the dataset
2018-04-05 15:12:47 +02:00
Patrick Niklaus
666ce46d36
Refactor shared memory storage to allow for multiple named datasets
2018-04-05 15:12:47 +02:00
Michael Krasnyk
bc120776f0
Don't apply unimplemented SH and PH conditions
2018-04-05 13:31:48 +02:00
Patrick Niklaus
51fe0dd5a0
Add missing check of a tar writing function
2018-04-05 00:54:50 +02:00
Michael Krasnyk
14d2199cd8
Always create a new kv pair to avoid using shared strings
2018-04-04 12:38:40 +02:00
Patrick Niklaus
cb4586ebee
Make use of the view factory in the data facade
2018-04-04 12:38:40 +02:00
Patrick Niklaus
44924b4bb4
Refactor view creation to own header file
2018-04-04 12:38:40 +02:00
Patrick Niklaus
3af3e06e75
Remove canary to get a consistent interface for getting a block pointer
2018-04-04 12:38:40 +02:00
Patrick Niklaus
39effb8f7e
Fix checking for non-empty string in prefix check
2018-04-04 12:38:40 +02:00
Patrick Niklaus
5a68f4c214
Refactor setting up vector_view
2018-04-04 12:38:40 +02:00
Patrick Niklaus
f558b16147
First step for better vector encapsulation
2018-04-04 12:38:40 +02:00
Patrick Niklaus
81a4747acb
Fix formating
2018-04-04 12:38:40 +02:00
Patrick Niklaus
9fc2c32408
Fix errors when loading an incompatible dataset.
2018-04-04 12:38:40 +02:00
Patrick Niklaus
24e0028afb
Remove CheckCompability because it now duplicates logic in the datafacade
2018-04-04 12:38:40 +02:00
Patrick Niklaus
c334d11e95
Refactor metric storage
2018-04-04 12:38:40 +02:00
Patrick Niklaus
aec9b6a178
Fixed reading DataLayout from shared memory
2018-04-04 12:38:40 +02:00