阶段性提交

This commit is contained in:
GoEdgeLab
2020-07-22 22:17:53 +08:00
parent a39aeb54c8
commit 9a751902f4
85 changed files with 3419 additions and 76 deletions

8
internal/utils/errors.go Normal file
View File

@@ -0,0 +1,8 @@
package utils
import "github.com/iwind/TeaGo/logs"
func PrintError(err error) {
// TODO 记录调用的文件名、行数
logs.Println("[ERROR]" + err.Error())
}

View File

@@ -0,0 +1,29 @@
// +build darwin
package utils
import (
"syscall"
)
// set resource limit
func SetRLimit(limit uint64) error {
rLimit := &syscall.Rlimit{}
err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, rLimit)
if err != nil {
return err
}
if rLimit.Cur < limit {
rLimit.Cur = limit
}
if rLimit.Max < limit {
rLimit.Max = limit
}
return syscall.Setrlimit(syscall.RLIMIT_NOFILE, rLimit)
}
// set best resource limit value
func SetSuitableRLimit() {
SetRLimit(4096 * 100) // 1M=100Files
}

View File

@@ -0,0 +1,29 @@
// +build linux
package utils
import (
"syscall"
)
// set resource limit
func SetRLimit(limit uint64) error {
rLimit := &syscall.Rlimit{}
err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, rLimit)
if err != nil {
return err
}
if rLimit.Cur < limit {
rLimit.Cur = limit
}
if rLimit.Max < limit {
rLimit.Max = limit
}
return syscall.Setrlimit(syscall.RLIMIT_NOFILE, rLimit)
}
// set best resource limit value
func SetSuitableRLimit() {
SetRLimit(4096 * 100) // 1M=100Files
}

View File

@@ -0,0 +1,13 @@
// +build !linux,!darwin
package utils
// set resource limit
func SetRLimit(limit uint64) error {
return nil
}
// set best resource limit value
func SetSuitableRLimit() {
}