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. Note: The dom-inmemory-data-broker
16 utilizes configurable config-dom-datastore and operation-dom-datastore.
17 If configuration is not done for this stores then it defaults
18 to InMemoryDOMDataStore";
20 revision "2013-10-28" {
25 identity dom-broker-impl {
26 base config:module-type;
27 config:provided-service sal:dom-broker-osgi-registry;
28 config:java-name-prefix DomBrokerImpl;
31 identity dom-inmemory-data-broker {
32 base config:module-type;
33 config:provided-service sal:dom-async-data-broker;
36 identity schema-service-singleton {
37 base config:module-type;
38 config:provided-service sal:schema-service;
39 config:java-name-prefix SchemaServiceImplSingleton;
42 typedef max-queue-depth {
48 augment "/config:modules/config:module/config:configuration" {
49 case dom-broker-impl {
50 when "/config:modules/config:module/config:type = 'dom-broker-impl'";
52 container async-data-broker {
53 uses config:service-ref {
56 config:required-identity sal:dom-async-data-broker;
61 container root-schema-service {
62 uses config:service-ref {
65 config:required-identity sal:schema-service;
70 leaf notification-queue-depth {
71 description "Maximum number of elements in the notification queue, must be
76 leaf notification-queue-spin {
77 description "Number of milliseconds notification queue should spin for new
78 requests before parking.";
83 leaf notification-queue-park {
84 description "Number of milliseconds notification queue should park for new
85 requests before blocking.";
93 grouping dom-broker-config {
94 container schema-service {
95 uses config:service-ref {
98 config:required-identity sal:schema-service;
103 container config-data-store {
104 uses config:service-ref {
107 config:required-identity config-dom-store-spi:config-dom-datastore;
112 container operational-data-store {
113 uses config:service-ref {
116 config:required-identity operational-dom-store-spi:operational-dom-datastore;
121 leaf max-data-broker-future-callback-queue-size {
124 description "The maximum queue size for the data broker's commit future callback
128 leaf max-data-broker-future-callback-pool-size {
131 description "The maximum thread pool size for the data broker's commit future
135 leaf max-data-broker-commit-queue-size {
138 description "The maximum queue size for the data broker's commit executor.";
142 grouping dom-broker-operational {
147 leaf average-commit {
152 leaf longest-commit-duration {
157 leaf longest-commit-timestamp {
158 type yang:date-and-time;
161 leaf shortest-commit-duration {
166 leaf shortest-commit-timestamp {
167 type yang:date-and-time;
170 rpcx:rpc-context-instance dom-broker-rpc-ctx;
173 identity dom-broker-rpc-ctx;
175 rpc reset-statistics {
177 "JMX call to clear the toasts-made counter.";
180 uses rpcx:rpc-context-ref {
181 refine context-instance {
182 rpcx:rpc-context-instance dom-broker-rpc-ctx;
188 augment "/config:modules/config:module/config:configuration" {
189 case dom-inmemory-data-broker {
190 when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'";
192 uses dom-broker-config;
196 augment "/config:modules/config:module/config:state" {
197 case dom-inmemory-data-broker {
198 when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'";
200 uses dom-broker-operational;
204 augment "/config:modules/config:module/config:state" {
205 case schema-service-singleton {
206 when "/config:modules/config:module/config:type = 'schema-service-singleton'";
210 augment "/config:modules/config:module/config:state" {
211 case dom-broker-impl {
212 when "/config:modules/config:module/config:type = 'dom-broker-impl'";
214 uses common:data-state;