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:java-name-prefix SchemaServiceImplSingleton;
43 typedef max-queue-depth {
49 augment "/config:modules/config:module/config:configuration" {
50 case dom-broker-impl {
51 when "/config:modules/config:module/config:type = 'dom-broker-impl'";
53 container async-data-broker {
54 uses config:service-ref {
57 config:required-identity sal:dom-async-data-broker;
62 container root-schema-service {
63 uses config:service-ref {
66 config:required-identity sal:schema-service;
71 leaf notification-queue-depth {
72 description "Maximum number of elements in the notification queue, must be power-of-two.";
76 leaf notification-queue-spin {
77 description "Number of milliseconds notification queue should spin for new requests before parking.";
82 leaf notification-queue-park {
83 description "Number of milliseconds notification queue should park for new requests before blocking.";
91 grouping dom-broker-config {
92 container schema-service {
93 uses config:service-ref {
96 config:required-identity sal:schema-service;
101 container config-data-store {
102 uses config:service-ref {
105 config:required-identity config-dom-store-spi:config-dom-datastore;
110 container operational-data-store {
111 uses config:service-ref {
114 config:required-identity operational-dom-store-spi:operational-dom-datastore;
119 leaf max-data-broker-future-callback-queue-size {
122 description "The maximum queue size for the data broker's commit future callback executor.";
125 leaf max-data-broker-future-callback-pool-size {
128 description "The maximum thread pool size for the data broker's commit future callback executor.";
131 leaf max-data-broker-commit-queue-size {
134 description "The maximum queue size for the data broker's commit executor.";
138 grouping dom-broker-operational {
143 leaf average-commit {
148 leaf longest-commit-duration {
153 leaf longest-commit-timestamp {
154 type yang:date-and-time;
157 leaf shortest-commit-duration {
162 leaf shortest-commit-timestamp {
163 type yang:date-and-time;
166 rpcx:rpc-context-instance dom-broker-rpc-ctx;
169 identity dom-broker-rpc-ctx;
171 rpc reset-statistics {
173 "JMX call to clear the toasts-made counter.";
176 uses rpcx:rpc-context-ref {
177 refine context-instance {
178 rpcx:rpc-context-instance dom-broker-rpc-ctx;
184 augment "/config:modules/config:module/config:configuration" {
185 case dom-inmemory-data-broker {
186 when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'";
188 uses dom-broker-config;
192 augment "/config:modules/config:module/config:state" {
193 case dom-inmemory-data-broker {
194 when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'";
196 uses dom-broker-operational;
200 augment "/config:modules/config:module/config:state" {
201 case schema-service-singleton {
202 when "/config:modules/config:module/config:type = 'schema-service-singleton'";
206 augment "/config:modules/config:module/config:state" {
207 case dom-broker-impl {
208 when "/config:modules/config:module/config:type = 'dom-broker-impl'";
210 uses common:data-state;