package io.wdd.func.xray.beans.node;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder(toBuilder = true)
@ApiModel("代理节点的信息")
public class ProxyNode {

    /**
     * 简称，自己使用
     */
    String name;

    /**
     * 用于定位在邻接图（有向加权图）中的 顺序位置
     */
    int num;

    String agentName;

    String agentTopicName;

    String location;

    ProxyNodeType proxyNodeType;

    String publicIPv4;

    String publicIPv6;

    @ApiModelProperty("保存生成的Xray Config信息")
    XrayConfigInfo xrayConfigInfo;

    @Override
    public String toString() {
        return "ProxyNode: [ " + agentName + " ]";
    }
}
