1 module opendaylight-sal-dom-broker-impl {
3 namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:impl";
6 import config { prefix config; revision-date 2013-04-05; }
7 import ietf-yang-types { prefix yang; }
8 import opendaylight-md-sal-dom {prefix sal;}
9 import opendaylight-md-sal-common {prefix common;}
10 import opendaylight-config-dom-datastore {prefix config-dom-store-spi;}
11 import opendaylight-operational-dom-datastore {prefix operational-dom-store-spi;}
12 import rpc-context { prefix rpcx; revision-date 2013-06-17; }
15 "Service definition for Binding Aware MD-SAL.
16 Note: The dom-inmemory-data-broker utilizes configurable config-dom-datastore
17 and operation-dom-datastore. If configuration is not done for this stores
18 then it defaults to InMemoryDOMDataStore";
20 revision "2013-10-28" {
25 identity dom-broker-impl {
27 base config:module-type;
28 config:provided-service sal:dom-broker-osgi-registry;
29 config:java-name-prefix DomBrokerImpl;
33 identity dom-inmemory-data-broker {
35 base config:module-type;
36 config:provided-service sal:dom-async-data-broker;
39 identity schema-service-singleton {
41 base config:module-type;
42 config:provided-service sal:schema-service;
43 config:provided-service sal:yang-text-source-provider;
44 config:java-name-prefix SchemaServiceImplSingleton;
47 typedef max-queue-depth {
53 augment "/config:modules/config:module/config:configuration" {
54 case dom-broker-impl {
55 when "/config:modules/config:module/config:type = 'dom-broker-impl'";
57 container async-data-broker {
58 uses config:service-ref {
61 config:required-identity sal:dom-async-data-broker;
66 container root-schema-service {
68 uses config:service-ref {
71 config:required-identity sal:schema-service;
76 leaf notification-queue-depth {
78 description "Maximum number of elements in the notification queue, must be power-of-two.";
82 leaf notification-queue-spin {
84 description "Number of milliseconds notification queue should spin for new requests before parking.";
89 leaf notification-queue-park {
91 description "Number of milliseconds notification queue should park for new requests before blocking.";
99 grouping dom-broker-config {
101 container schema-service {
102 uses config:service-ref {
105 config:required-identity sal:schema-service;
110 container config-data-store {
111 uses config:service-ref {
114 config:required-identity config-dom-store-spi:config-dom-datastore;
119 container operational-data-store {
120 uses config:service-ref {
123 config:required-identity operational-dom-store-spi:operational-dom-datastore;
128 leaf max-data-broker-future-callback-queue-size {
131 description "The maximum queue size for the data broker's commit future callback executor.";
134 leaf max-data-broker-future-callback-pool-size {
137 description "The maximum thread pool size for the data broker's commit future callback executor.";
140 leaf max-data-broker-commit-queue-size {
143 description "The maximum queue size for the data broker's commit executor.";
147 grouping dom-broker-operational {
153 leaf average-commit {
158 leaf longest-commit-duration {
163 leaf longest-commit-timestamp {
164 type yang:date-and-time;
167 leaf shortest-commit-duration {
172 leaf shortest-commit-timestamp {
173 type yang:date-and-time;
176 rpcx:rpc-context-instance dom-broker-rpc-ctx;
179 identity dom-broker-rpc-ctx;
181 rpc reset-statistics {
183 "JMX call to clear the toasts-made counter.";
186 uses rpcx:rpc-context-ref {
187 refine context-instance {
188 rpcx:rpc-context-instance dom-broker-rpc-ctx;
194 augment "/config:modules/config:module/config:configuration" {
195 case dom-inmemory-data-broker {
196 when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'";
198 uses dom-broker-config;
202 augment "/config:modules/config:module/config:state" {
203 case dom-inmemory-data-broker {
204 when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'";
206 uses dom-broker-operational;
210 augment "/config:modules/config:module/config:state" {
211 case schema-service-singleton {
212 when "/config:modules/config:module/config:type = 'schema-service-singleton'";
216 augment "/config:modules/config:module/config:state" {
217 case dom-broker-impl {
218 when "/config:modules/config:module/config:type = 'dom-broker-impl'";
220 uses common:data-state;