entity

package
v0.0.0-...-194d0c4 Latest Latest
Warning

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

Go to latest
Published: Aug 4, 2018 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrPackageUnselected  = errors.New("package unselected")
	ErrServiceUnselected  = errors.New("service unselected")
	ErrUnknownPackage     = errors.New("unknown package")
	ErrUnknownService     = errors.New("unknown service")
	ErrInvalidServiceName = errors.New("invalid service name")
	ErrInvalidMessageName = errors.New("invalid message name")
	ErrInvalidRPCName     = errors.New("invalid RPC name")
)

Functions

This section is empty.

Types

type BidiStream

type BidiStream interface {
	Send(req proto.Message) error
	Receive(res proto.Message) error
	Close() error
}

type ClientStream

type ClientStream interface {
	Send(req proto.Message) error
	CloseAndReceive(res proto.Message) error
}

type Enum

type Enum interface {
	Name() string
	Values() []EnumValue
}

type EnumField

type EnumField interface {
	Field
	Enum
}

EnumField is set of values

type EnumValue

type EnumValue interface {
	Name() string
	Number() int32
}

type Env

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

func NewEnv

func NewEnv(pkgs []*Package, config *config.Config) *Env

func NewEnvFromServices

func NewEnvFromServices(svcs []Service, config *config.Config) *Env

NewEnvFromServices is called if the target server has enabled gRPC reflection. gRPC reflection has no packages, so Evans creates pseudo package "default".

func (*Env) AddHeader

func (e *Env) AddHeader(h *Header)

func (*Env) DSN

func (e *Env) DSN() string

func (*Env) HasCurrentPackage

func (e *Env) HasCurrentPackage() bool

func (*Env) HasCurrentService

func (e *Env) HasCurrentService() bool

func (*Env) Headers

func (e *Env) Headers() (headers []*Header)

func (*Env) Message

func (e *Env) Message(name string) (Message, error)

func (*Env) Messages

func (e *Env) Messages() ([]Message, error)

func (*Env) Packages

func (e *Env) Packages() []*Package

func (*Env) RPC

func (e *Env) RPC(name string) (RPC, error)

func (*Env) RPCs

func (e *Env) RPCs() ([]RPC, error)

func (*Env) RemoveHeader

func (e *Env) RemoveHeader(key string)

func (*Env) Service

func (e *Env) Service(name string) (Service, error)

func (*Env) Services

func (e *Env) Services() ([]Service, error)

func (*Env) UsePackage

func (e *Env) UsePackage(name string) error

func (*Env) UseService

func (e *Env) UseService(name string) error

type Environment

type Environment interface {
	Packages() []*Package
	Services() ([]Service, error)
	Messages() ([]Message, error)
	RPCs() ([]RPC, error)
	Service(name string) (Service, error)
	Message(name string) (Message, error)
	RPC(name string) (RPC, error)

	Headers() []*Header
	AddHeader(header *Header)
	RemoveHeader(key string)

	UsePackage(name string) error
	UseService(name string) error

	DSN() string
}

type Field

type Field interface {
	FieldName() string
	FQRN() string
	Type() FieldType
	IsRepeated() bool

	// *desc.FieldDescriptor.GetType().String()
	// used only from port.Showable
	PBType() string
}

Field represents base field features. fieldable types:

enum, oneof, message, primitive

type FieldType

type FieldType int
const (
	FieldTypePrimitive FieldType = iota
	FieldTypeEnum
	FieldTypeOneOf
	FieldTypeMessage
)

type GRPCClient

type GRPCClient interface {
	Invoke(ctx context.Context, fqrn string, req, res interface{}) error
	NewClientStream(ctx context.Context, rpc RPC) (ClientStream, error)
	NewServerStream(ctx context.Context, rpc RPC) (ServerStream, error)
	NewBidiStream(ctx context.Context, rpc RPC) (BidiStream, error)
	Close(ctx context.Context) error
}
type Header struct {
	Key, Val string

	// NeedToRemove is used only from REPL header command
	NeedToRemove bool
}

type Message

type Message interface {
	Name() string
	Fields() []Field
	IsCycled() bool
}

type MessageField

type MessageField interface {
	Field
	Message
}

type OneOfField

type OneOfField interface {
	Field
	Choices() []Field
}

type Package

type Package struct {
	Name     string
	Services []Service
	Messages []Message
}

func NewPackage

func NewPackage(name string, msgs []Message, svcs []Service) *Package

type Parser

type Parser interface {
	ParseFile(fnames []string, fpaths []string) ([]*Package, error)
}

type PrimitiveField

type PrimitiveField interface {
	Field
}

type RPC

type RPC interface {
	Name() string
	FQRN() string
	RequestMessage() Message
	ResponseMessage() Message
	IsServerStreaming() bool
	IsClientStreaming() bool

	// StreamDesc returns *grpc.StreamDesc.
	// if both of IsServerStreaming and IsClientStreaming are nil,
	// StreamDesc will panic.
	StreamDesc() *grpc.StreamDesc
}

type ServerStream

type ServerStream interface {
	Send(req proto.Message) error
	Receive(res proto.Message) error
}

type Service

type Service interface {
	Name() string
	FQRN() string
	RPCs() []RPC
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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