X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fyang%2Fopendaylight-dom-broker-impl.yang;h=e81f71a7d2069014b511b1162168131633d62c1a;hb=34bc6ec632529a0dfe419aa7404bb42a456fbc96;hp=bf12ac4f011fc656529b7131027114c67b4e6b31;hpb=f20add00faf71465ad092144689450c105f9bde3;p=controller.git diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/yang/opendaylight-dom-broker-impl.yang b/opendaylight/md-sal/sal-dom-broker/src/main/yang/opendaylight-dom-broker-impl.yang index bf12ac4f01..e81f71a7d2 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/yang/opendaylight-dom-broker-impl.yang +++ b/opendaylight/md-sal/sal-dom-broker/src/main/yang/opendaylight-dom-broker-impl.yang @@ -5,9 +5,15 @@ module opendaylight-sal-dom-broker-impl { import config { prefix config; revision-date 2013-04-05; } import opendaylight-md-sal-dom {prefix sal;} + import opendaylight-md-sal-common {prefix common;} + import opendaylight-config-dom-datastore {prefix config-dom-store-spi;} + import opendaylight-operational-dom-datastore {prefix operational-dom-store-spi;} description - "Service definition for Binding Aware MD-SAL."; + "Service definition for Binding Aware MD-SAL. + Note: The dom-inmemory-data-broker utilizes configurable config-dom-datastore + and operation-dom-datastore. If configuration is not done for this stores + then it defaults to InMemoryDOMDataStore"; revision "2013-10-28" { description @@ -18,12 +24,12 @@ module opendaylight-sal-dom-broker-impl { base config:module-type; config:provided-service sal:dom-broker-osgi-registry; config:java-name-prefix DomBrokerImpl; - } + } + - identity hash-map-data-store { + identity dom-inmemory-data-broker { base config:module-type; - config:provided-service sal:dom-data-store; - config:java-name-prefix HashMapDataStore; + config:provided-service sal:dom-async-data-broker; } identity schema-service-singleton { @@ -38,17 +44,82 @@ module opendaylight-sal-dom-broker-impl { container data-store { uses config:service-ref { refine type { - mandatory true; + mandatory false; config:required-identity sal:dom-data-store; } } } + + container async-data-broker { + uses config:service-ref { + refine type { + mandatory false; + config:required-identity sal:dom-async-data-broker; + } + } + } + + container root-schema-service { + uses config:service-ref { + refine type { + mandatory false; + config:required-identity sal:schema-service; + } + } + } } } - augment "/config:modules/config:module/config:state" { - case hash-map-data-store { - when "/config:modules/config:module/config:type = 'hash-map-data-store'"; + augment "/config:modules/config:module/config:configuration" { + case dom-inmemory-data-broker { + when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'"; + + + container schema-service { + uses config:service-ref { + refine type { + mandatory false; + config:required-identity sal:schema-service; + } + } + + } + + container config-data-store{ + uses config:service-ref { + refine type { + mandatory false; + config:required-identity config-dom-store-spi:config-dom-datastore; + } + } + } + + container operational-data-store{ + uses config:service-ref { + refine type { + mandatory false; + config:required-identity operational-dom-store-spi:operational-dom-datastore; + } + } + } + + leaf max-data-broker-future-callback-queue-size { + default 1000; + type uint16; + description "The maximum queue size for the data broker's commit future callback executor."; + } + + leaf max-data-broker-future-callback-pool-size { + default 20; + type uint16; + description "The maximum thread pool size for the data broker's commit future callback executor."; + } + + leaf max-data-broker-commit-queue-size { + default 5000; + type uint16; + description "The maximum queue size for the data broker's commit executor."; + } } } @@ -58,4 +129,12 @@ module opendaylight-sal-dom-broker-impl { } } -} \ No newline at end of file + augment "/config:modules/config:module/config:state" { + case dom-broker-impl { + when "/config:modules/config:module/config:type = 'dom-broker-impl'"; + container data { + uses common:data-state; + } + } + } +}