If the application is instantiated, it immediatelly un-registers itself.
When the application instance is closed, it increments flap-count
and if active flag is set, re-registers the application implementation as a singleton.
- If either un-registration or re-registration fails, flap-count is set
- to negative of its previous value (minus one in case of un-registration)
+ If either un-registration or re-registration fails, 'active' flag is unset,
+ flap-count is set to negative of its previous value (minus one in case of un-registration)
to signal a failure has happened.";
// No input.
// No output.
}
}
- rpc publish-notifications {
- description "Upon receiving this, the member shall start publishing llt:id-sequence
- notifications with the given id and sequence numbers, increasing, from 1.
- The RPC shall not return until all publishes are successful,
- or an exception is raised (the exception should propagate to restconf response).";
+ rpc start-publish-notifications {
+ description "Upon receiving this, the member checks whether it is already in the middle of publishing,
+ for this id, and fails if yes. If no, the member shall clear any state tracking data possibly present
+ from the previous call wth this id, and start publishing llt:id-sequence
+ notifications with the given id and sequence numbers increasing from 1.
+ The RPC shall return immediatelly before the first notification is published.
+ The publishing task stops on first error of after the given time.";
input {
uses llc:id-grouping;
leaf seconds {
// No output.
}
+ rpc check-publish-notifications {
+ description "Upon receiving this, the member shall immediatelly return
+ the current tracking data related to the current (or previous) task
+ started by start-publish-notifications with this id.";
+ input {
+ uses llc:id-grouping;
+ }
+ output {
+ leaf active {
+ description "True if a publishing task for this id is running, false otherwise.";
+ mandatory true;
+ type boolean;
+ }
+ leaf publish-count {
+ description "How many notifications were published for this id since last start.
+ If there was no start-publish-notifications call for this id, this leaf is absent.";
+ mandatory false;
+ type int64;
+ }
+ leaf last-error {
+ description "If no task has been started by start-publish-notifications for this id,
+ or if the last such call has not encountered an error, this leaf is absent.
+ Otherwise it contains a string message from the last error, including stacktrace if possible.";
+ mandatory false;
+ type string;
+ }
+ }
+ }
+
rpc subscribe-ynl {
description "Upon receiving this, the member checks whether it has already subscribed
a yang listener for the given id, and fails if yes.
type boolean;
}
}
- // No output.
+ output {
+ leaf all-tx {
+ description "Number of all transactions executed.";
+ type int64;
+ mandatory true;
+ }
+ leaf insert-tx {
+ description "Number of transactions that inserted data.";
+ type int64;
+ mandatory true;
+ }
+ leaf delete-tx {
+ description "Number of transactions that deleted data.";
+ type int64;
+ mandatory true;
+ }
+ }
}
rpc produce-transactions {