Copyright 2024 Zaphiro Technologies Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Messages to support coordination among processes/services in the platform. At the time being this is a proof of concept. Different changes may occurs when we actually start to use the event driven approach to coordinate services.
Import | Description |
---|---|
google/protobuf/any.proto | To support messages with fields of any type |
Name | Value | Description |
---|---|---|
go_package | ./platform/v1 |
FQN: zaphiro.platform.v1.TaskType
The different type of tasks run by the real time processing.
Name | Ordinal | Description |
---|---|---|
TASK_TYPE_UNSPECIFIED |
0 | |
TASK_TYPE_COLLECTION |
1 | |
TASK_TYPE_TOPOLOGY |
2 | |
TASK_TYPE_STATE |
3 | |
TASK_TYPE_FAULT |
4 |
FQN: zaphiro.platform.v1.NotificationType
The different type of notifications generated by the real time processing.
Name | Ordinal | Description |
---|---|---|
NOTIFICATION_TYPE_UNSPECIFIED |
0 | |
NOTIFICATION_TYPE_DATA_COMPLETE |
1 | |
NOTIFICATION_TYPE_DATA_TIMEOUT_SHORT |
2 | |
NOTIFICATION_TYPE_DATA_TIMEOUT_MEDIUM |
3 | |
NOTIFICATION_TYPE_TRIGGER |
4 | |
NOTIFICATION_TYPE_TOPOLOGY_COMPUTED |
5 |
classDiagram
direction LR
%% The different type of tasks run by the real time processing.
class TaskType{
<<enumeration>>
TASK_TYPE_UNSPECIFIED
TASK_TYPE_COLLECTION
TASK_TYPE_TOPOLOGY
TASK_TYPE_STATE
TASK_TYPE_FAULT
}
classDiagram
direction LR
%% The different type of notifications generated by the real time processing.
class NotificationType{
<<enumeration>>
NOTIFICATION_TYPE_UNSPECIFIED
NOTIFICATION_TYPE_DATA_COMPLETE
NOTIFICATION_TYPE_DATA_TIMEOUT_SHORT
NOTIFICATION_TYPE_DATA_TIMEOUT_MEDIUM
NOTIFICATION_TYPE_TRIGGER
NOTIFICATION_TYPE_TOPOLOGY_COMPUTED
}
classDiagram
direction LR
%% A parameter of a `Task` or `Notification`
class Parameter {
+ string name
+ google.protobuf.Any value
}
Parameter --> `google.protobuf.Any`
classDiagram
direction LR
%% A task message.
%% Headers used in rabbitMQ:
%% * `id` (string): id of the `Task`
%% * `type` (string): always `Task`
%% * `producerId` (string): the id of the producer (e.g. a PMU) linked to the notification.
%% * `timestampId` (int64): related measurement Unix msec timestamp (if any)
%% * `taskType` (int8): The textual representation of the task type.
%%
class Task {
+ TaskType taskType
+ int64 createdAt
+ List~Parameter~ parameters
}
Task --> `TaskType`
Task --> `Parameter`
classDiagram
direction LR
%% A notification message.
%% Headers used in rabbitMQ:
%% * `id` (string): id of the `Notification`
%% * `type` (string): always `Notification`
%% * `producerId` (string): the id of the producer (e.g. a PMU) linked to the notification.
%% * `timestampId` (int64): related measurement Unix msec timestamp (if any)
%% * `notificationType` (int8): The textual representation of the notification type.
%%
class Notification {
+ NotificationType notificationType
+ int64 createdAt
+ string message
+ List~Parameter~ parameters
}
Notification --> `NotificationType`
Notification --> `Parameter`
FQN: zaphiro.platform.v1.Parameter
A parameter of a Task
or Notification
Field | Ordinal | Type | Label | Description |
---|---|---|---|---|
name |
1 | string |
The parameter name | |
value |
2 | google.protobuf.Any |
The parameter value |
FQN: zaphiro.platform.v1.Task
A task message. Headers used in rabbitMQ:
id
(string): id of theTask
type
(string): alwaysTask
producerId
(string): the id of the producer (e.g. a PMU) linked to the notification.timestampId
(int64): related measurement Unix msec timestamp (if any)taskType
(int8): The textual representation of the task type.
Field | Ordinal | Type | Label | Description |
---|---|---|---|---|
taskType |
1 | TaskType |
Type of the task | |
createdAt |
2 | int64 |
Task creation time (Unix msec timestamp) | |
parameters |
3 | Parameter |
Repeated |
FQN: zaphiro.platform.v1.Notification
A notification message. Headers used in rabbitMQ:
id
(string): id of theNotification
type
(string): alwaysNotification
producerId
(string): the id of the producer (e.g. a PMU) linked to the notification.timestampId
(int64): related measurement Unix msec timestamp (if any)notificationType
(int8): The textual representation of the notification type.
Field | Ordinal | Type | Label | Description |
---|---|---|---|---|
notificationType |
1 | NotificationType |
Notification type | |
createdAt |
2 | int64 |
Notification creation time (Unix msec timestamp) | |
message |
3 | string |
Notification message, it can be a string or a integer (which maps to a enum value). | |
parameters |
4 | Parameter |
Repeated |