syntax = "proto3";

package pgc.gateway.vega.v1;

import "bilibili/rpc.proto";
import "google/protobuf/any.proto";
import "google/protobuf/empty.proto";

// 
message AuthReq {
}

// 
message AuthResp {
}

// 
message FrameOption {
    // 
    int64 vega_id = 1;
    // 
    string req_id = 2;
    // 
    int64 sequence = 3;
    // 
    bool is_ack = 4;
    // 
    bilibili.rpc.Status status = 5;
    // 
    string ack_origin = 6;
    // 
    int64 mid = 7;
}

// 
message HeartbeatReq {
}

// 
message HeartbeatResp {
}

// 
message MessageAckReq {
    // 
    string vega_id = 1;
    // 
    string req_id = 2;
    // 
    string origin = 3;
    // 
    string target_path = 4;
}

// 
message SubscribeReq {
    // 
    repeated TargetPath target_paths = 1;
}

// 
message TargetPath {
    // 
    string key = 1;
    // 
    google.protobuf.Any subs = 2;
}

// 
message VegaFrame {
    // 
    FrameOption options = 1;
    // 
    string route_path = 2;
    // 
    google.protobuf.Any body = 3;
    // 
    google.protobuf.Any sub_biz = 4;
}

