Merge branch 'master' into sf-pool-alloc
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
include "route.fbs";
|
||||
include "table.fbs";
|
||||
|
||||
namespace osrm.engine.api.fbresult;
|
||||
|
||||
table Error {
|
||||
code: string;
|
||||
message: string;
|
||||
}
|
||||
|
||||
table FBResult {
|
||||
error: bool = false;
|
||||
code: Error;
|
||||
data_version: string;
|
||||
waypoints: [Waypoint]; //Used as 'sources' waypoints for a 'Table' service
|
||||
routes: [RouteObject];
|
||||
table: TableResult;
|
||||
}
|
||||
|
||||
root_type FBResult;
|
||||
@@ -0,0 +1,6 @@
|
||||
namespace osrm.engine.api.fbresult;
|
||||
|
||||
struct Position {
|
||||
longitude: float;
|
||||
latitude: float;
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
include "waypoint.fbs";
|
||||
namespace osrm.engine.api.fbresult;
|
||||
|
||||
table Metadata {
|
||||
datasource_names: [string];
|
||||
}
|
||||
|
||||
table Annotation {
|
||||
distance: [uint];
|
||||
duration: [uint];
|
||||
datasources: [uint];
|
||||
nodes: [uint];
|
||||
weight: [uint];
|
||||
speed: [float];
|
||||
metadata: Metadata;
|
||||
}
|
||||
|
||||
enum ManeuverType: byte {
|
||||
Turn,
|
||||
NewName,
|
||||
Depart,
|
||||
Arrive,
|
||||
Merge,
|
||||
OnRamp,
|
||||
OffRamp,
|
||||
Fork,
|
||||
EndOfRoad,
|
||||
Continue,
|
||||
Roundabout,
|
||||
Rotary,
|
||||
RoundaboutTurn,
|
||||
Notification,
|
||||
ExitRoundabout,
|
||||
ExitRotary
|
||||
}
|
||||
|
||||
enum Turn: byte {
|
||||
None,
|
||||
UTurn,
|
||||
SharpRight,
|
||||
Right,
|
||||
SlightRight,
|
||||
Straight,
|
||||
SlightLeft,
|
||||
Left,
|
||||
SharpLeft
|
||||
}
|
||||
|
||||
table StepManeuver {
|
||||
location: Position;
|
||||
bearing_before: ushort;
|
||||
bearing_after: ushort;
|
||||
type: ManeuverType;
|
||||
modifier: Turn;
|
||||
exit: ubyte;
|
||||
}
|
||||
|
||||
table Lane {
|
||||
indications: [Turn];
|
||||
valid: bool;
|
||||
}
|
||||
|
||||
table Intersection {
|
||||
location: Position;
|
||||
bearings: [short];
|
||||
classes: [string];
|
||||
entry: [bool];
|
||||
in_bearing: uint;
|
||||
out_bearing: uint;
|
||||
lanes: [Lane];
|
||||
}
|
||||
|
||||
table Step {
|
||||
distance: float;
|
||||
duration: float;
|
||||
polyline: string;
|
||||
coordinates: [Position];
|
||||
weight: float;
|
||||
name: string;
|
||||
ref: string;
|
||||
pronunciation: string;
|
||||
destinations: string;
|
||||
exits: string;
|
||||
mode: string;
|
||||
maneuver: StepManeuver;
|
||||
intersections: [Intersection];
|
||||
rotary_name: string;
|
||||
rotary_pronunciation: string;
|
||||
driving_side: bool; //Where true stands for the left side.
|
||||
}
|
||||
|
||||
table Leg {
|
||||
distance: double;
|
||||
duration: double;
|
||||
weight: double;
|
||||
summary: string;
|
||||
annotations: Annotation;
|
||||
steps: [Step];
|
||||
}
|
||||
|
||||
table RouteObject {
|
||||
distance: float;
|
||||
duration: float;
|
||||
weight: float;
|
||||
weight_name: string;
|
||||
confidence: float; //Used only by 'Match' service
|
||||
polyline: string;
|
||||
coordinates: [Position];
|
||||
legs: [Leg];
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
include "waypoint.fbs";
|
||||
namespace osrm.engine.api.fbresult;
|
||||
|
||||
table TableResult {
|
||||
durations: [float];
|
||||
rows: ushort;
|
||||
cols: ushort;
|
||||
distances: [float];
|
||||
destinations: [Waypoint];
|
||||
fallback_speed_cells: [uint];
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
include "position.fbs";
|
||||
namespace osrm.engine.api.fbresult;
|
||||
|
||||
struct Uint64Pair {
|
||||
first: uint64;
|
||||
second: uint64;
|
||||
}
|
||||
|
||||
table Waypoint {
|
||||
hint: string;
|
||||
distance: float;
|
||||
name: string;
|
||||
location: Position;
|
||||
nodes: Uint64Pair; //Used only by 'Nearest' service
|
||||
matchings_index: uint; //Used only by 'Match' service
|
||||
waypoint_index: uint; //Used by 'Match' and 'Trip' services
|
||||
alternatives_count: uint; //Used only by 'Match' service
|
||||
trips_index: uint; //Used only by 'Trip' service
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
#define MEMINFO_HPP
|
||||
|
||||
#include "util/log.hpp"
|
||||
#include <cstddef>
|
||||
|
||||
#ifndef _WIN32
|
||||
#include <sys/resource.h>
|
||||
@@ -10,22 +11,31 @@
|
||||
namespace osrm::util
|
||||
{
|
||||
|
||||
inline void DumpMemoryStats()
|
||||
inline size_t PeakRAMUsedInBytes()
|
||||
{
|
||||
#ifndef _WIN32
|
||||
rusage usage;
|
||||
getrusage(RUSAGE_SELF, &usage);
|
||||
#ifdef __linux__
|
||||
// Under linux, ru.maxrss is in kb
|
||||
util::Log() << "RAM: peak bytes used: " << usage.ru_maxrss * 1024;
|
||||
return usage.ru_maxrss * 1024;
|
||||
#else // __linux__
|
||||
// Under BSD systems (OSX), it's in bytes
|
||||
util::Log() << "RAM: peak bytes used: " << usage.ru_maxrss;
|
||||
return usage.ru_maxrss;
|
||||
#endif // __linux__
|
||||
#else // _WIN32
|
||||
return 0;
|
||||
#endif // _WIN32
|
||||
}
|
||||
|
||||
inline void DumpMemoryStats()
|
||||
{
|
||||
#ifndef _WIN32
|
||||
util::Log() << "RAM: peak bytes used: " << PeakRAMUsedInBytes();
|
||||
#else // _WIN32
|
||||
util::Log() << "RAM: peak bytes used: <not implemented on Windows>";
|
||||
#endif // _WIN32
|
||||
}
|
||||
} // namespace osrm::util
|
||||
|
||||
#endif
|
||||
#endif
|
||||
Reference in New Issue
Block a user