Documentation
¶
Overview ¶
内部包,实现客户端模式功能
内部包,提供共享功能
内部包,实现主控模式功能
内部包,实现服务端模式功能
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ReloadInterval = getEnvAsDuration("NP_RELOAD_INTERVAL", 1*time.Hour) // 重载间隔
)
配置变量,可通过环境变量调整
Functions ¶
This section is empty.
Types ¶
type Instance ¶
type Instance struct {
ID string `json:"id"` // 实例ID
Alias string `json:"alias"` // 实例别名
Type string `json:"type"` // 实例类型
Status string `json:"status"` // 实例状态
URL string `json:"url"` // 实例URL
Config string `json:"config"` // 实例配置
Restart bool `json:"restart"` // 是否自启动
Meta Meta `json:"meta"` // 元数据信息
Mode int32 `json:"mode"` // 实例模式
Ping int32 `json:"ping"` // 端内延迟
Pool int32 `json:"pool"` // 池连接数
TCPS int32 `json:"tcps"` // TCP连接数
UDPS int32 `json:"udps"` // UDP连接数
TCPRX uint64 `json:"tcprx"` // TCP接收字节数
TCPTX uint64 `json:"tcptx"` // TCP发送字节数
UDPRX uint64 `json:"udprx"` // UDP接收字节数
UDPTX uint64 `json:"udptx"` // UDP发送字节数
TCPRXBase uint64 `json:"-" gob:"-"` // TCP接收字节数基线(不序列化)
TCPTXBase uint64 `json:"-" gob:"-"` // TCP发送字节数基线(不序列化)
UDPRXBase uint64 `json:"-" gob:"-"` // UDP接收字节数基线(不序列化)
UDPTXBase uint64 `json:"-" gob:"-"` // UDP发送字节数基线(不序列化)
TCPRXReset uint64 `json:"-" gob:"-"` // TCP接收重置偏移量(不序列化)
TCPTXReset uint64 `json:"-" gob:"-"` // TCP发送重置偏移量(不序列化)
UDPRXReset uint64 `json:"-" gob:"-"` // UDP接收重置偏移量(不序列化)
UDPTXReset uint64 `json:"-" gob:"-"` // UDP发送重置偏移量(不序列化)
// contains filtered or unexported fields
}
Instance 实例信息
type InstanceEvent ¶
type InstanceEvent struct {
Type string `json:"type"` // 事件类型:initial, create, update, delete, shutdown, log
Time time.Time `json:"time"` // 事件时间
Instance *Instance `json:"instance"` // 关联的实例
Logs string `json:"logs"` // 日志内容
}
InstanceEvent 实例事件信息
type InstanceLogWriter ¶
type InstanceLogWriter struct {
// contains filtered or unexported fields
}
InstanceLogWriter 实例日志写入器
func NewInstanceLogWriter ¶
func NewInstanceLogWriter(instanceID string, instance *Instance, target io.Writer, master *Master) *InstanceLogWriter
NewInstanceLogWriter 创建新的实例日志写入器
type Master ¶
type Master struct {
Common // 继承通用功能
// contains filtered or unexported fields
}
Master 实现主控模式功能
type Peer ¶
type Peer struct {
SID string `json:"sid"` // 服务ID
Type string `json:"type"` // 服务类型
Alias string `json:"alias"` // 服务别名
}
Peer 对端信息
type Server ¶
type Server struct{ Common }
Server 实现服务端模式功能
type Signal ¶
type Signal struct {
ActionType string `json:"action"` // 操作类型
RemoteAddr string `json:"remote,omitempty"` // 远程地址
PoolConnID string `json:"id,omitempty"` // 池连接ID
Fingerprint string `json:"fp,omitempty"` // TLS指纹
}
Signal 操作信号结构体
type SystemInfo ¶
type SystemInfo struct {
CPU int `json:"cpu"` // CPU使用率 (%)
MemTotal uint64 `json:"mem_total"` // 内存容量字节数
MemUsed uint64 `json:"mem_used"` // 内存已用字节数
SwapTotal uint64 `json:"swap_total"` // 交换区容量字节数
SwapUsed uint64 `json:"swap_used"` // 交换区已用字节数
NetRX uint64 `json:"netrx"` // 网络接收字节数
NetTX uint64 `json:"nettx"` // 网络发送字节数
DiskR uint64 `json:"diskr"` // 磁盘读取字节数
DiskW uint64 `json:"diskw"` // 磁盘写入字节数
SysUp uint64 `json:"sysup"` // 系统运行时间(秒)
}
SystemInfo 系统信息结构体
type TCPingResult ¶
type TCPingResult struct {
Target string `json:"target"`
Connected bool `json:"connected"`
Latency int64 `json:"latency"`
Error *string `json:"error"`
}
TCPingResult TCPing结果结构体
type TransportPool ¶
type TransportPool interface {
IncomingGet(timeout time.Duration) (string, net.Conn, error)
OutgoingGet(id string, timeout time.Duration) (net.Conn, error)
Flush()
Close()
Ready() bool
Active() int
Capacity() int
Interval() time.Duration
AddError()
ErrorCount() int
ResetError()
}
TransportPool 统一连接池接口
Click to show internal directories.
Click to hide internal directories.