Hi,
I think usage of reverse in this lines is wrong:
- https://github.com/graphhopper/graphhopper/blob/master/core/src/main/java/com/graphhopper/routing/weighting/FastestWeighting.java#L61
- https://github.com/graphhopper/graphhopper/blob/master/core/src/main/java/com/graphhopper/routing/weighting/AbstractWeighting.java#L43-L46
I read the usages of calcWeight and calcMillis and I think reverse is always false in non-bidirectional algorithms and is always false in calcMillis.
So we should use something like edgeState == edgeState.detach(true) instead of reverse to determine to use speed or reverseSpeed.