core: v2ray.com/core/app/policy Index | Files

package policy

import "v2ray.com/core/app/policy"

Package policy is an implementation of policy.Manager feature.

Index

Package Files

config.go config.pb.go errors.generated.go manager.go policy.go

type Config Uses

type Config struct {
    Level                map[uint32]*Policy `protobuf:"bytes,1,rep,name=level,proto3" json:"level,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    System               *SystemPolicy      `protobuf:"bytes,2,opt,name=system,proto3" json:"system,omitempty"`
    XXX_NoUnkeyedLiteral struct{}           `json:"-"`
    XXX_unrecognized     []byte             `json:"-"`
    XXX_sizecache        int32              `json:"-"`
}

func (*Config) Descriptor Uses

func (*Config) Descriptor() ([]byte, []int)

func (*Config) GetLevel Uses

func (m *Config) GetLevel() map[uint32]*Policy

func (*Config) GetSystem Uses

func (m *Config) GetSystem() *SystemPolicy

func (*Config) ProtoMessage Uses

func (*Config) ProtoMessage()

func (*Config) Reset Uses

func (m *Config) Reset()

func (*Config) String Uses

func (m *Config) String() string

func (*Config) XXX_DiscardUnknown Uses

func (m *Config) XXX_DiscardUnknown()

func (*Config) XXX_Marshal Uses

func (m *Config) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Config) XXX_Merge Uses

func (m *Config) XXX_Merge(src proto.Message)

func (*Config) XXX_Size Uses

func (m *Config) XXX_Size() int

func (*Config) XXX_Unmarshal Uses

func (m *Config) XXX_Unmarshal(b []byte) error

type Instance Uses

type Instance struct {
    // contains filtered or unexported fields
}

Instance is an instance of Policy manager.

func New Uses

func New(ctx context.Context, config *Config) (*Instance, error)

New creates new Policy manager instance.

func (*Instance) Close Uses

func (m *Instance) Close() error

Close implements common.Closable.Close().

func (*Instance) ForLevel Uses

func (m *Instance) ForLevel(level uint32) policy.Session

ForLevel implements policy.Manager.

func (*Instance) ForSystem Uses

func (m *Instance) ForSystem() policy.System

ForSystem implements policy.Manager.

func (*Instance) Start Uses

func (m *Instance) Start() error

Start implements common.Runnable.Start().

func (*Instance) Type Uses

func (*Instance) Type() interface{}

Type implements common.HasType.

type Policy Uses

type Policy struct {
    Timeout              *Policy_Timeout `protobuf:"bytes,1,opt,name=timeout,proto3" json:"timeout,omitempty"`
    Stats                *Policy_Stats   `protobuf:"bytes,2,opt,name=stats,proto3" json:"stats,omitempty"`
    Buffer               *Policy_Buffer  `protobuf:"bytes,3,opt,name=buffer,proto3" json:"buffer,omitempty"`
    XXX_NoUnkeyedLiteral struct{}        `json:"-"`
    XXX_unrecognized     []byte          `json:"-"`
    XXX_sizecache        int32           `json:"-"`
}

func (*Policy) Descriptor Uses

func (*Policy) Descriptor() ([]byte, []int)

func (*Policy) GetBuffer Uses

func (m *Policy) GetBuffer() *Policy_Buffer

func (*Policy) GetStats Uses

func (m *Policy) GetStats() *Policy_Stats

func (*Policy) GetTimeout Uses

func (m *Policy) GetTimeout() *Policy_Timeout

func (*Policy) ProtoMessage Uses

func (*Policy) ProtoMessage()

func (*Policy) Reset Uses

func (m *Policy) Reset()

func (*Policy) String Uses

func (m *Policy) String() string

func (*Policy) ToCorePolicy Uses

func (p *Policy) ToCorePolicy() policy.Session

ToCorePolicy converts this Policy to policy.Session.

func (*Policy) XXX_DiscardUnknown Uses

func (m *Policy) XXX_DiscardUnknown()

func (*Policy) XXX_Marshal Uses

func (m *Policy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Policy) XXX_Merge Uses

func (m *Policy) XXX_Merge(src proto.Message)

func (*Policy) XXX_Size Uses

func (m *Policy) XXX_Size() int

func (*Policy) XXX_Unmarshal Uses

func (m *Policy) XXX_Unmarshal(b []byte) error

type Policy_Buffer Uses

type Policy_Buffer struct {
    // Buffer size per connection, in bytes. -1 for unlimited buffer.
    Connection           int32    `protobuf:"varint,1,opt,name=connection,proto3" json:"connection,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func (*Policy_Buffer) Descriptor Uses

func (*Policy_Buffer) Descriptor() ([]byte, []int)

func (*Policy_Buffer) GetConnection Uses

func (m *Policy_Buffer) GetConnection() int32

func (*Policy_Buffer) ProtoMessage Uses

func (*Policy_Buffer) ProtoMessage()

func (*Policy_Buffer) Reset Uses

func (m *Policy_Buffer) Reset()

func (*Policy_Buffer) String Uses

func (m *Policy_Buffer) String() string

func (*Policy_Buffer) XXX_DiscardUnknown Uses

func (m *Policy_Buffer) XXX_DiscardUnknown()

func (*Policy_Buffer) XXX_Marshal Uses

func (m *Policy_Buffer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Policy_Buffer) XXX_Merge Uses

func (m *Policy_Buffer) XXX_Merge(src proto.Message)

func (*Policy_Buffer) XXX_Size Uses

func (m *Policy_Buffer) XXX_Size() int

func (*Policy_Buffer) XXX_Unmarshal Uses

func (m *Policy_Buffer) XXX_Unmarshal(b []byte) error

type Policy_Stats Uses

type Policy_Stats struct {
    UserUplink           bool     `protobuf:"varint,1,opt,name=user_uplink,json=userUplink,proto3" json:"user_uplink,omitempty"`
    UserDownlink         bool     `protobuf:"varint,2,opt,name=user_downlink,json=userDownlink,proto3" json:"user_downlink,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func (*Policy_Stats) Descriptor Uses

func (*Policy_Stats) Descriptor() ([]byte, []int)
func (m *Policy_Stats) GetUserDownlink() bool
func (m *Policy_Stats) GetUserUplink() bool

func (*Policy_Stats) ProtoMessage Uses

func (*Policy_Stats) ProtoMessage()

func (*Policy_Stats) Reset Uses

func (m *Policy_Stats) Reset()

func (*Policy_Stats) String Uses

func (m *Policy_Stats) String() string

func (*Policy_Stats) XXX_DiscardUnknown Uses

func (m *Policy_Stats) XXX_DiscardUnknown()

func (*Policy_Stats) XXX_Marshal Uses

func (m *Policy_Stats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Policy_Stats) XXX_Merge Uses

func (m *Policy_Stats) XXX_Merge(src proto.Message)

func (*Policy_Stats) XXX_Size Uses

func (m *Policy_Stats) XXX_Size() int

func (*Policy_Stats) XXX_Unmarshal Uses

func (m *Policy_Stats) XXX_Unmarshal(b []byte) error

type Policy_Timeout Uses

type Policy_Timeout struct {
    Handshake            *Second  `protobuf:"bytes,1,opt,name=handshake,proto3" json:"handshake,omitempty"`
    ConnectionIdle       *Second  `protobuf:"bytes,2,opt,name=connection_idle,json=connectionIdle,proto3" json:"connection_idle,omitempty"`
    UplinkOnly           *Second  `protobuf:"bytes,3,opt,name=uplink_only,json=uplinkOnly,proto3" json:"uplink_only,omitempty"`
    DownlinkOnly         *Second  `protobuf:"bytes,4,opt,name=downlink_only,json=downlinkOnly,proto3" json:"downlink_only,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

Timeout is a message for timeout settings in various stages, in seconds.

func (*Policy_Timeout) Descriptor Uses

func (*Policy_Timeout) Descriptor() ([]byte, []int)

func (*Policy_Timeout) GetConnectionIdle Uses

func (m *Policy_Timeout) GetConnectionIdle() *Second

func (*Policy_Timeout) GetDownlinkOnly Uses

func (m *Policy_Timeout) GetDownlinkOnly() *Second

func (*Policy_Timeout) GetHandshake Uses

func (m *Policy_Timeout) GetHandshake() *Second

func (*Policy_Timeout) GetUplinkOnly Uses

func (m *Policy_Timeout) GetUplinkOnly() *Second

func (*Policy_Timeout) ProtoMessage Uses

func (*Policy_Timeout) ProtoMessage()

func (*Policy_Timeout) Reset Uses

func (m *Policy_Timeout) Reset()

func (*Policy_Timeout) String Uses

func (m *Policy_Timeout) String() string

func (*Policy_Timeout) XXX_DiscardUnknown Uses

func (m *Policy_Timeout) XXX_DiscardUnknown()

func (*Policy_Timeout) XXX_Marshal Uses

func (m *Policy_Timeout) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Policy_Timeout) XXX_Merge Uses

func (m *Policy_Timeout) XXX_Merge(src proto.Message)

func (*Policy_Timeout) XXX_Size Uses

func (m *Policy_Timeout) XXX_Size() int

func (*Policy_Timeout) XXX_Unmarshal Uses

func (m *Policy_Timeout) XXX_Unmarshal(b []byte) error

type Second Uses

type Second struct {
    Value                uint32   `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func (*Second) Descriptor Uses

func (*Second) Descriptor() ([]byte, []int)

func (*Second) Duration Uses

func (s *Second) Duration() time.Duration

Duration converts Second to time.Duration.

func (*Second) GetValue Uses

func (m *Second) GetValue() uint32

func (*Second) ProtoMessage Uses

func (*Second) ProtoMessage()

func (*Second) Reset Uses

func (m *Second) Reset()

func (*Second) String Uses

func (m *Second) String() string

func (*Second) XXX_DiscardUnknown Uses

func (m *Second) XXX_DiscardUnknown()

func (*Second) XXX_Marshal Uses

func (m *Second) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Second) XXX_Merge Uses

func (m *Second) XXX_Merge(src proto.Message)

func (*Second) XXX_Size Uses

func (m *Second) XXX_Size() int

func (*Second) XXX_Unmarshal Uses

func (m *Second) XXX_Unmarshal(b []byte) error

type SystemPolicy Uses

type SystemPolicy struct {
    Stats                *SystemPolicy_Stats `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"`
    XXX_NoUnkeyedLiteral struct{}            `json:"-"`
    XXX_unrecognized     []byte              `json:"-"`
    XXX_sizecache        int32               `json:"-"`
}

func (*SystemPolicy) Descriptor Uses

func (*SystemPolicy) Descriptor() ([]byte, []int)

func (*SystemPolicy) GetStats Uses

func (m *SystemPolicy) GetStats() *SystemPolicy_Stats

func (*SystemPolicy) ProtoMessage Uses

func (*SystemPolicy) ProtoMessage()

func (*SystemPolicy) Reset Uses

func (m *SystemPolicy) Reset()

func (*SystemPolicy) String Uses

func (m *SystemPolicy) String() string

func (*SystemPolicy) ToCorePolicy Uses

func (p *SystemPolicy) ToCorePolicy() policy.System

ToCorePolicy converts this SystemPolicy to policy.System.

func (*SystemPolicy) XXX_DiscardUnknown Uses

func (m *SystemPolicy) XXX_DiscardUnknown()

func (*SystemPolicy) XXX_Marshal Uses

func (m *SystemPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SystemPolicy) XXX_Merge Uses

func (m *SystemPolicy) XXX_Merge(src proto.Message)

func (*SystemPolicy) XXX_Size Uses

func (m *SystemPolicy) XXX_Size() int

func (*SystemPolicy) XXX_Unmarshal Uses

func (m *SystemPolicy) XXX_Unmarshal(b []byte) error

type SystemPolicy_Stats Uses

type SystemPolicy_Stats struct {
    InboundUplink        bool     `protobuf:"varint,1,opt,name=inbound_uplink,json=inboundUplink,proto3" json:"inbound_uplink,omitempty"`
    InboundDownlink      bool     `protobuf:"varint,2,opt,name=inbound_downlink,json=inboundDownlink,proto3" json:"inbound_downlink,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func (*SystemPolicy_Stats) Descriptor Uses

func (*SystemPolicy_Stats) Descriptor() ([]byte, []int)
func (m *SystemPolicy_Stats) GetInboundDownlink() bool
func (m *SystemPolicy_Stats) GetInboundUplink() bool

func (*SystemPolicy_Stats) ProtoMessage Uses

func (*SystemPolicy_Stats) ProtoMessage()

func (*SystemPolicy_Stats) Reset Uses

func (m *SystemPolicy_Stats) Reset()

func (*SystemPolicy_Stats) String Uses

func (m *SystemPolicy_Stats) String() string

func (*SystemPolicy_Stats) XXX_DiscardUnknown Uses

func (m *SystemPolicy_Stats) XXX_DiscardUnknown()

func (*SystemPolicy_Stats) XXX_Marshal Uses

func (m *SystemPolicy_Stats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SystemPolicy_Stats) XXX_Merge Uses

func (m *SystemPolicy_Stats) XXX_Merge(src proto.Message)

func (*SystemPolicy_Stats) XXX_Size Uses

func (m *SystemPolicy_Stats) XXX_Size() int

func (*SystemPolicy_Stats) XXX_Unmarshal Uses

func (m *SystemPolicy_Stats) XXX_Unmarshal(b []byte) error

Package policy imports 8 packages (graph) and is imported by 14 packages. Updated 2019-03-31. Refresh now. Tools for package owners.