You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lal/app/demo/dispatch/config.go

61 lines
2.2 KiB
Go

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// Copyright 2020, Chef. All rights reserved.
// https://github.com/q191201771/lal
//
// Use of this source code is governed by a MIT-style license
// that can be found in the License file.
//
// Author: Chef (191201771@qq.com)
package main
import "path/filepath"
// Config 服务启动前,设置好一些配置
type Config struct {
// 本服务HTTP监听端口用于接收各lal节点的HTTP Notify
ListenAddr string `json:"listen_addr"`
// ServerId2Server `json:"server_id2server"`
// 配置向本服务汇报的节点信息。
// 如果没有配置的serverId向本服务汇报本服务讲认为该汇报信息无效。
ServerId2Server map[string]Server `json:"servers"`
// 级联拉流时携带该Url参数使得我们可以区分是级联拉流还是用户拉流
PullSecretParam string `json:"pull_secret_param"`
// 检测lal节点update报活的超时时间
ServerTimeoutSec int `json:"server_timeout_sec"`
// MaxSubSessionPerIp
// 当一个client IP对应的sub session大于这个阈值时我们认为是恶意行为踢掉这个IP的所有sub session。
// 如果设置为0或-1表示不限制。
MaxSubSessionPerIp int `json:"max_sub_session_per_ip"`
// MaxSubDurationSec
// 当一个sub session的持续时间超过这个阈值时我们认为是恶意行为踢掉这个sub session。
// 如果设置为0或-1表示不限制。
MaxSubDurationSec int `json:"max_sub_duration_sec"`
}
// Server lal节点静态配置信息
type Server struct {
// 可用于级联拉流的RTMP地址
RtmpAddr string `json:"rtmp_addr"`
// HTTP API接口地址比如向节点发送kick_session时使用
ApiAddr string `json:"api_addr"`
}
var config Config
var DefaultConfFilenameList = []string{
filepath.FromSlash("dispatch.conf.json"),
filepath.FromSlash("./conf/dispatch.conf.json"),
filepath.FromSlash("../dispatch.conf.json"),
filepath.FromSlash("../conf/dispatch.conf.json"),
filepath.FromSlash("../../dispatch.conf.json"),
filepath.FromSlash("../../conf/dispatch.conf.json"),
filepath.FromSlash("../../../dispatch.conf.json"),
filepath.FromSlash("../../../conf/dispatch.conf.json"),
filepath.FromSlash("lal/conf/dispatch.conf.json"),
}