commander

package
v4.31.2+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 18, 2020 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_app_commander_config_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Commander

type Commander struct {
	sync.Mutex
	// contains filtered or unexported fields
}

Commander is a V2Ray feature that provides gRPC methods to external clients.

func NewCommander

func NewCommander(ctx context.Context, config *Config) (*Commander, error)

NewCommander creates a new Commander based on the given config.

func (*Commander) Close

func (c *Commander) Close() error

Close implements common.Closable.

func (*Commander) Start

func (c *Commander) Start() error

Start implements common.Runnable.

func (*Commander) Type

func (c *Commander) Type() interface{}

Type implements common.HasType.

type Config

type Config struct {

	// Tag of the outbound handler that handles grpc connections.
	Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"`
	// Services that supported by this server. All services must implement Service
	// interface.
	Service []*serial.TypedMessage `protobuf:"bytes,2,rep,name=service,proto3" json:"service,omitempty"`
	// contains filtered or unexported fields
}

Config is the settings for Commander.

func (*Config) Descriptor deprecated

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

Deprecated: Use Config.ProtoReflect.Descriptor instead.

func (*Config) GetService

func (x *Config) GetService() []*serial.TypedMessage

func (*Config) GetTag

func (x *Config) GetTag() string

func (*Config) ProtoMessage

func (*Config) ProtoMessage()

func (*Config) ProtoReflect

func (x *Config) ProtoReflect() protoreflect.Message

func (*Config) Reset

func (x *Config) Reset()

func (*Config) String

func (x *Config) String() string

type Outbound

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

Outbound is a outbound.Handler that handles gRPC connections.

func (*Outbound) Close

func (co *Outbound) Close() error

Close implements common.Closable.

func (*Outbound) Dispatch

func (co *Outbound) Dispatch(ctx context.Context, link *transport.Link)

Dispatch implements outbound.Handler.

func (*Outbound) Start

func (co *Outbound) Start() error

Start implements common.Runnable.

func (*Outbound) Tag

func (co *Outbound) Tag() string

Tag implements outbound.Handler.

type OutboundListener

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

OutboundListener is a net.Listener for listening gRPC connections.

func (*OutboundListener) Accept

func (l *OutboundListener) Accept() (net.Conn, error)

Accept implements net.Listener.

func (*OutboundListener) Addr

func (l *OutboundListener) Addr() net.Addr

Addr implements net.Listener.

func (*OutboundListener) Close

func (l *OutboundListener) Close() error

Close implement net.Listener.

type Service

type Service interface {
	// Register registers the service itself to a gRPC server.
	Register(*grpc.Server)
}

Service is a Commander service.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL