Documentation ¶
Index ¶
- Constants
- Variables
- func DefaultIDHash(key []byte) hash.Hash
- type Account
- type CommandSwitchAccount
- type ID
- type IDHash
- type RequestCommand
- type RequestDecoder
- type RequestEncoder
- type RequestHeader
- type RequestOption
- type ResponseCommand
- type ResponseDecoder
- type ResponseEncoder
- type ResponseHeader
- type ResponseOption
- type TimedUserValidator
- type Timestamp
- type TimestampGenerator
- type User
- type UserLevel
- type UserSettings
- type UserValidator
- type VMessAccount
Constants ¶
View Source
const ( RequestCommandTCP = RequestCommand(0x01) RequestCommandUDP = RequestCommand(0x02) )
View Source
const ( RequestOptionChunkStream = RequestOption(0x01) RequestOptionConnectionReuse = RequestOption(0x02) )
View Source
const ( UserLevelAdmin = UserLevel(255) UserLevelUntrusted = UserLevel(0) )
View Source
const (
IDBytesLen = 16
)
Variables ¶
View Source
var ( ErrorInvalidUser = errors.New("Invalid user.") ErrorInvalidVersion = errors.New("Invalid version.") )
View Source
var (
InvalidID = errors.New("Invalid ID.")
)
View Source
var (
ResponseOptionConnectionReuse = ResponseOption(1)
)
Functions ¶
func DefaultIDHash ¶
Types ¶
type CommandSwitchAccount ¶
type ID ¶
type ID struct {
// contains filtered or unexported fields
}
The ID of en entity, in the form of an UUID.
func NewAlterIDs ¶
type RequestCommand ¶
type RequestCommand byte
type RequestDecoder ¶
type RequestEncoder ¶
type RequestHeader ¶
type RequestHeader struct { Version byte User *User Command RequestCommand Option RequestOption Address v2net.Address Port v2net.Port }
func (*RequestHeader) Destination ¶
func (this *RequestHeader) Destination() v2net.Destination
type RequestOption ¶
type RequestOption byte
func (*RequestOption) Clear ¶
func (this *RequestOption) Clear(option RequestOption)
func (RequestOption) Has ¶
func (this RequestOption) Has(option RequestOption) bool
func (*RequestOption) Set ¶
func (this *RequestOption) Set(option RequestOption)
type ResponseCommand ¶
type ResponseCommand interface{}
type ResponseDecoder ¶
type ResponseEncoder ¶
type ResponseHeader ¶
type ResponseHeader struct { Option ResponseOption Command ResponseCommand }
type ResponseOption ¶
type ResponseOption byte
func (*ResponseOption) Clear ¶
func (this *ResponseOption) Clear(option ResponseOption)
func (ResponseOption) Has ¶
func (this ResponseOption) Has(option ResponseOption) bool
func (*ResponseOption) Set ¶
func (this *ResponseOption) Set(option ResponseOption)
type TimedUserValidator ¶
func (*TimedUserValidator) Add ¶
func (this *TimedUserValidator) Add(user *User) error
func (*TimedUserValidator) Get ¶
func (this *TimedUserValidator) Get(userHash []byte) (*User, Timestamp, bool)
func (*TimedUserValidator) Release ¶
func (this *TimedUserValidator) Release()
type TimestampGenerator ¶
type TimestampGenerator func() Timestamp
func NewTimestampGenerator ¶
func NewTimestampGenerator(base Timestamp, delta int) TimestampGenerator
type UserSettings ¶
type UserSettings struct {
PayloadReadTimeout int
}
func GetUserSettings ¶
func GetUserSettings(level UserLevel) UserSettings
type UserValidator ¶
type UserValidator interface { common.Releasable Add(user *User) error Get(timeHash []byte) (*User, Timestamp, bool) }
func NewTimedUserValidator ¶
func NewTimedUserValidator(hasher IDHash) UserValidator
type VMessAccount ¶
func (*VMessAccount) AnyValidID ¶
func (this *VMessAccount) AnyValidID() *ID
Source Files ¶
Click to show internal directories.
Click to hide internal directories.