core: Index | Files

package routing

import ""


Package Files

dispatcher.go router.go

func DispatcherType Uses

func DispatcherType() interface{}

DispatcherType returns the type of Dispatcher interface. Can be used to implement common.HasType.


func RouterType Uses

func RouterType() interface{}

RouterType return the type of Router interface. Can be used to implement common.HasType.


type DefaultRouter Uses

type DefaultRouter struct{}

DefaultRouter is an implementation of Router, which always returns ErrNoClue for routing decisions.

func (DefaultRouter) Close Uses

func (DefaultRouter) Close() error

Close implements common.Closable.

func (DefaultRouter) PickRoute Uses

func (DefaultRouter) PickRoute(ctx context.Context) (string, error)

PickRoute implements Router.

func (DefaultRouter) Start Uses

func (DefaultRouter) Start() error

Start implements common.Runnable.

func (DefaultRouter) Type Uses

func (DefaultRouter) Type() interface{}

Type implements common.HasType.

type Dispatcher Uses

type Dispatcher interface {

    // Dispatch returns a Ray for transporting data for the given request.
    Dispatch(ctx context.Context, dest net.Destination) (*transport.Link, error)

Dispatcher is a feature that dispatches inbound requests to outbound handlers based on rules. Dispatcher is required to be registered in a V2Ray instance to make V2Ray function properly.


type Router Uses

type Router interface {

    // PickRoute returns a tag of an OutboundHandler based on the given context.
    PickRoute(ctx context.Context) (string, error)

Router is a feature to choose an outbound tag for the given request.


Package routing imports 5 packages (graph) and is imported by 32 packages. Updated 2019-03-31. Refresh now. Tools for package owners.