BUG-46: preliminary switch to MD-SAL
[bgpcep.git] / bgp / rib-impl / src / main / java / org / opendaylight / protocol / bgp / rib / impl / BGPObjectComparator.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.protocol.bgp.rib.impl;
9
10 import java.util.Comparator;
11
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130918.PathAttributes;
13
14
15 /**
16  * This comparator is intended to implement BGP Best Path Selection algorithm, as described at
17  * 
18  * @see http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a0080094431.shtml
19  * 
20  * @param <T> Actual object state reference
21  */
22 final class BGPObjectComparator implements Comparator<PathAttributes> {
23         @Override
24         public int compare(final PathAttributes o1, final PathAttributes o2) {
25                 if (o1 == o2) {
26                         return 0;
27                 }
28                 if (o1 == null) {
29                         return 1;
30                 }
31                 if (o2 == null) {
32                         return -1;
33                 }
34
35                 // FIXME: look at ASPath
36                 // FIXME: look at everything else :-)
37
38                 return 0;
39         }
40 }