| 123456789101112131415161718192021222324252627282930313233343536 | package vmessimport (	"time")type UserLevel intconst (	UserLevelAdmin     = UserLevel(999)	UserLevelUntrusted = UserLevel(0))type User interface {	ID() *ID	Level() UserLevel}type SecondaryID interface {	ID() *ID	ValidUntil() time.Time}type UserSettings struct {	PayloadReadTimeout int}func GetUserSettings(level UserLevel) UserSettings {	settings := UserSettings{		PayloadReadTimeout: 120,	}	if level > 0 {		settings.PayloadReadTimeout = 0	}	return settings}
 |