Added notification benchmark (ntfbenchmark) and rpc benchmark models
[controller.git] / benchmark / api / src / main / yang / rpcbench-payload.yang
1 module rpcbench-payload {
2     yang-version 1;
3     namespace "rpcbench-payload";
4     prefix "rpcb";
5
6     import yang-ext { prefix ext; revision-date "2013-07-09"; }
7
8     revision "2015-07-02" {
9         description "Initial revision of rpcbenchmark model";
10     }
11
12     identity node-context {
13         description "Identity used to mark node context for Routed RPCs (determines the type of routing)";
14     }
15
16     grouping payload {
17         list payload {
18             description
19                 "The input and output payload for the RPC Benchmark's Global RPC Server (a list of integers)";
20             key id;
21             leaf id {
22                 type int32;
23             }
24         }
25     }
26
27     rpc global-rpc-bench {
28         description
29           "Interface to the RPC Benchmark's Global RPC Server. In each RPC call, the input is copied on the output";
30         input {
31             uses payload;
32         }
33         output {
34             uses payload;
35         }
36     }
37
38     rpc routed-rpc-bench {
39         description
40             "Interface to RPC Benchmark's Routed RPC Servers. In each RPC call, the input is copied on the output";
41         input {
42             leaf node {
43                 ext:context-reference "node-context";
44                 type "instance-identifier";
45             }
46             uses payload;
47         }
48         output {
49             uses payload;
50         }
51     }
52
53     container rpcbench-rpc-routes {
54         list rpc-route {
55             description
56                 "Routed RPC server context instances (i.e. instances to which RPC calls are routed)";
57             key id;
58             ext:context-instance "node-context";
59             leaf id {
60                 type string;
61             }
62         }
63     }
64 }