X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fyang%2Fopendaylight-dom-broker-impl.yang;h=1a553eab52b6c320f30cfb89034bedadb442514f;hp=bf12ac4f011fc656529b7131027114c67b4e6b31;hb=78aa007feef2169a0280bd3d3fbbbea160b63d82;hpb=d6e3e28bf86638685e55289d6cd9cb749838a75e 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..1a553eab52 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 @@ -1,14 +1,20 @@ module opendaylight-sal-dom-broker-impl { - yang-version 1; + yang-version 1; namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:impl"; prefix "binding-impl"; - import config { prefix config; revision-date 2013-04-05; } - import opendaylight-md-sal-dom {prefix sal;} + 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 "Initial revision"; @@ -19,13 +25,13 @@ module opendaylight-sal-dom-broker-impl { 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 { base config:module-type; config:provided-service sal:schema-service; @@ -38,24 +44,99 @@ 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'"; + + grouping dom-broker-config { + 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."; } } - + + augment "/config:modules/config:module/config:configuration" { + case dom-inmemory-data-broker { + when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'"; + + uses dom-broker-config; + } + } + augment "/config:modules/config:module/config:state" { case schema-service-singleton { when "/config:modules/config:module/config:type = 'schema-service-singleton'"; } } - -} \ 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; + } + } + } +}