syntax = "proto3";

package v1;

import "sdktoken.proto";
import "google/protobuf/timestamp.proto";

//一次版本号变更
message RevisionHistory {
    //变更时间
    google.protobuf.Timestamp time = 1;
    //变更的次序
    uint32 change_seq = 2;
    //变更后版本号
    string revision = 3;
}

//路由变更历史
message RoutingHistory {
    //版本号变更
    repeated RevisionHistory revision = 1;
}

//实例变更历史
message InstancesHistory {
    //版本号变更
    repeated RevisionHistory revision = 1;
}

//上报的服务信息
message ServiceInfo {
    //该条记录的唯一id
    string id = 1;
    //sdk标识
    SDKToken sdk_token = 2;
    string namespace = 3;
    string service = 4;
    //服务实例的版本变化
    InstancesHistory instances_history = 5;
    //服务的实例数据已从sdk中删除（过期淘汰或者server删除了）
    bool instance_eliminated = 6;
    //该服务对应的路由变化情况
    RoutingHistory routing_history = 7;
    //服务的路由数据已从sdk中删除（过期淘汰或者server删除了）
    bool routing_eliminated = 8;
}
