// Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) // // 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. syntax = "proto3"; package forecaster; import "context.proto"; service ForecasterService { rpc GetForecastOfTopology (context.TopologyId) returns (Forecast) {} rpc GetForecastOfLink(context.LinkId) returns (Forecast) {} rpc CheckService (context.ServiceId) returns (ForecastPrediction) {} } message SingleForecast { context.Timestamp = 1; double value = 2; } message Forecast { oneof uuid { context.TopologyId = 1; context.LinkId = 2; } repeated SingleForecast forecast = 3; } enum AvailabilityPredictionEnum { FORECASTED_AVAILABILITY = 0; FORECASTED_UNAVAILABILITY = 1; } message ForecastPrediction { AvailabilityPredictionEnum prediction = 1; }