use of org.opendaylight.protocol.bgp.mode.impl.add.OffsetMap in project bgpcep by opendaylight.
the class ComplexRouteEntry method createRoute.
@Override
public Route createRoute(final RIBSupport ribSup, final Identifier routeKey, final long pathId, final AddPathBestPath path) {
final OffsetMap map = getOffsets();
final Route route = map.getValue(this.values, map.offsetOf(path.getRouteKey()));
return ribSup.createRoute(route, routeKey, pathId, path.getAttributes());
}
use of org.opendaylight.protocol.bgp.mode.impl.add.OffsetMap in project bgpcep by opendaylight.
the class ComplexRouteEntry method addRoute.
@Override
public int addRoute(final UnsignedInteger routerId, final long remotePathId, final Route route) {
final OffsetMap oldMap = getOffsets();
final int offset = addRoute(new RouteKey(routerId, remotePathId), route.getAttributes());
final OffsetMap newMap = getOffsets();
if (!newMap.equals(oldMap)) {
this.values = newMap.expand(oldMap, this.values, offset);
}
newMap.setValue(this.values, offset, route);
return offset;
}
use of org.opendaylight.protocol.bgp.mode.impl.add.OffsetMap in project bgpcep by opendaylight.
the class ComplexRouteEntry method createRoute.
@Override
public Route createRoute(final RIBSupport ribSup, final Identifier routeKey, final long pathId, final AddPathBestPath path) {
final OffsetMap map = getOffsets();
final Route route = map.getValue(this.values, map.offsetOf(path.getRouteKey()));
return ribSup.createRoute(route, routeKey, pathId, path.getAttributes());
}
use of org.opendaylight.protocol.bgp.mode.impl.add.OffsetMap in project bgpcep by opendaylight.
the class ComplexRouteEntry method removeRoute.
@Override
public boolean removeRoute(final UnsignedInteger routerId, final long remotePathId) {
final RouteKey key = new RouteKey(routerId, remotePathId);
final OffsetMap map = getOffsets();
final int offset = map.offsetOf(key);
this.values = map.removeValue(this.values, offset);
return removeRoute(key, offset);
}
use of org.opendaylight.protocol.bgp.mode.impl.add.OffsetMap in project bgpcep by opendaylight.
the class ComplexRouteEntry method addRoute.
@Override
public int addRoute(final UnsignedInteger routerId, final long remotePathId, final Route route) {
final OffsetMap oldMap = getOffsets();
final int offset = addRoute(new RouteKey(routerId, remotePathId), route.getAttributes());
final OffsetMap newMap = getOffsets();
if (!newMap.equals(oldMap)) {
this.values = newMap.expand(oldMap, this.values, offset);
}
newMap.setValue(this.values, offset, route);
return offset;
}