BUG-3128: Update RPC router concepts 36/51036/1
authorRobert Varga <rovarga@cisco.com>
Mon, 16 Jan 2017 09:15:49 +0000 (10:15 +0100)
committerRobert Varga <nite@hq.sk>
Wed, 25 Jan 2017 22:29:28 +0000 (22:29 +0000)
commit416a6bcaf1bb07ece21b5d65dc9ba306627eb535
treeace84ff2cb8e41a69ef741952c649a649639088a
parentc3f368fb047b919991c84eba039e1d3f54f2d446
BUG-3128: Update RPC router concepts

Enrich DOMRpcImplementation with invocation cost, which is taken into account
when deciding which implementation to invoke. This allows local RPCs to be
prioritized over remote ones.

Also add the ability to filter implementations when notifying availability
listener. This allows remote RPC to filter its own registrations, preventing
re-forwarding loops, where a remote implementation would be forwarded as
a local one.

Change-Id: Id1d78d5031904e19134c103e12b79d68cf0b98c3
Signed-off-by: Robert Varga <rovarga@cisco.com>
(cherry picked from commit dc76c5f86830b541fe9c4f2a011e199486558779)
opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/md/sal/dom/api/DOMRpcAvailabilityListener.java
opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/md/sal/dom/api/DOMRpcImplementation.java
opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/AbstractDOMRpcRoutingTableEntry.java
opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMRpcRouter.java
opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMRpcRoutingTable.java