2015-12-07 14:32:38 -05:00
|
|
|
package vmess
|
2015-10-16 06:03:22 -04:00
|
|
|
|
2015-12-12 18:10:35 -05:00
|
|
|
import (
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
2015-10-30 19:38:31 -04:00
|
|
|
type UserLevel int
|
|
|
|
|
|
|
|
const (
|
2015-10-31 09:08:13 -04:00
|
|
|
UserLevelAdmin = UserLevel(999)
|
|
|
|
UserLevelUntrusted = UserLevel(0)
|
2015-10-30 19:38:31 -04:00
|
|
|
)
|
|
|
|
|
2015-10-16 06:03:22 -04:00
|
|
|
type User interface {
|
|
|
|
ID() *ID
|
2015-10-31 09:08:13 -04:00
|
|
|
Level() UserLevel
|
2015-10-30 19:38:31 -04:00
|
|
|
}
|
|
|
|
|
2015-12-12 18:10:35 -05:00
|
|
|
type SecondaryID interface {
|
|
|
|
ID() *ID
|
|
|
|
ValidUntil() time.Time
|
|
|
|
}
|
|
|
|
|
2015-10-30 19:38:31 -04:00
|
|
|
type UserSettings struct {
|
2015-10-31 09:08:13 -04:00
|
|
|
PayloadReadTimeout int
|
2015-10-30 19:38:31 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
func GetUserSettings(level UserLevel) UserSettings {
|
2015-10-31 09:08:13 -04:00
|
|
|
settings := UserSettings{
|
|
|
|
PayloadReadTimeout: 120,
|
|
|
|
}
|
|
|
|
if level > 0 {
|
|
|
|
settings.PayloadReadTimeout = 0
|
|
|
|
}
|
|
|
|
return settings
|
2015-10-16 06:03:22 -04:00
|
|
|
}
|