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 {
26 base config:module-type;
27 config:provided-service sal:dom-broker-osgi-registry;
28 config:java-name-prefix DomBrokerImpl;
32 identity dom-inmemory-data-broker {
33 base config:module-type;
34 config:provided-service sal:dom-async-data-broker;
37 identity schema-service-singleton {
38 base config:module-type;
39 config:provided-service sal:schema-service;
40 config:provided-service sal:yang-text-source-provider;
41 config:java-name-prefix SchemaServiceImplSingleton;
44 typedef max-queue-depth {
50 augment "/config:modules/config:module/config:configuration" {
51 case dom-broker-impl {
52 when "/config:modules/config:module/config:type = 'dom-broker-impl'";
54 container async-data-broker {
55 uses config:service-ref {
58 config:required-identity sal:dom-async-data-broker;
63 container root-schema-service {
64 uses config:service-ref {
67 config:required-identity sal:schema-service;
72 leaf notification-queue-depth {
73 description "Maximum number of elements in the notification queue, must be power-of-two.";
77 leaf notification-queue-spin {
78 description "Number of milliseconds notification queue should spin for new requests before parking.";
83 leaf notification-queue-park {
84 description "Number of milliseconds notification queue should park for new requests before blocking.";
92 grouping dom-broker-config {
93 container schema-service {
94 uses config:service-ref {
97 config:required-identity sal:schema-service;
102 container config-data-store {
103 uses config:service-ref {
106 config:required-identity config-dom-store-spi:config-dom-datastore;
111 container operational-data-store {
112 uses config:service-ref {
115 config:required-identity operational-dom-store-spi:operational-dom-datastore;
120 leaf max-data-broker-future-callback-queue-size {
123 description "The maximum queue size for the data broker's commit future callback executor.";
126 leaf max-data-broker-future-callback-pool-size {
129 description "The maximum thread pool size for the data broker's commit future callback executor.";
132 leaf max-data-broker-commit-queue-size {
135 description "The maximum queue size for the data broker's commit executor.";
139 grouping dom-broker-operational {
144 leaf average-commit {
149 leaf longest-commit-duration {
154 leaf longest-commit-timestamp {
155 type yang:date-and-time;
158 leaf shortest-commit-duration {
163 leaf shortest-commit-timestamp {
164 type yang:date-and-time;
167 rpcx:rpc-context-instance dom-broker-rpc-ctx;
170 identity dom-broker-rpc-ctx;
172 rpc reset-statistics {
174 "JMX call to clear the toasts-made counter.";
177 uses rpcx:rpc-context-ref {
178 refine context-instance {
179 rpcx:rpc-context-instance dom-broker-rpc-ctx;
185 augment "/config:modules/config:module/config:configuration" {
186 case dom-inmemory-data-broker {
187 when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'";
189 uses dom-broker-config;
193 augment "/config:modules/config:module/config:state" {
194 case dom-inmemory-data-broker {
195 when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'";
197 uses dom-broker-operational;
201 augment "/config:modules/config:module/config:state" {
202 case schema-service-singleton {
203 when "/config:modules/config:module/config:type = 'schema-service-singleton'";
207 augment "/config:modules/config:module/config:state" {
208 case dom-broker-impl {
209 when "/config:modules/config:module/config:type = 'dom-broker-impl'";
211 uses common:data-state;