core

package
v0.7.1 Latest Latest
Warning

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

Go to latest
Published: Aug 16, 2018 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultOptions = Options{
	ChainName: "default",
}

DefaultOptions for chain name

Functions

This section is empty.

Types

type InvocationOption

type InvocationOption func(*InvokeOptions)

InvocationOption is a requestOption used by invocation

func StreamingRequest

func StreamingRequest() InvocationOption

StreamingRequest is request option

func WithEndpoint

func WithEndpoint(ep string) InvocationOption

WithEndpoint is request option

func WithFilters

func WithFilters(f ...string) InvocationOption

WithFilters is a request option

func WithMetadata

func WithMetadata(h map[string]interface{}) InvocationOption

WithMetadata is a request option

func WithProtocol

func WithProtocol(p string) InvocationOption

WithProtocol is a request option

func WithRouteTags added in v0.7.1

func WithRouteTags(t map[string]string) InvocationOption

WithRouteTags is a request option

func WithStrategy

func WithStrategy(s string) InvocationOption

WithStrategy is a request option

type InvokeOptions

type InvokeOptions struct {
	Stream bool
	// Transport Dial Timeout
	DialTimeout time.Duration
	// Request/Response timeout
	RequestTimeout time.Duration
	// end to end,Directly call
	Endpoint string
	// end to end,Directly call
	Protocol string
	//loadbalancer stratery
	//StrategyFunc loadbalancer.Strategy
	StrategyFunc string
	Filters      []string
	URLPath      string
	MethodType   string
	// local data
	Metadata map[string]interface{}
	// tags for router
	RouteTags utiltags.Tags
}

InvokeOptions struct having information about microservice API call parameters

type Option

type Option func(*Options)

Option used by the invoker

func ChainName

func ChainName(name string) Option

ChainName is request option

func DefaultCallOptions

func DefaultCallOptions(io InvokeOptions) Option

DefaultCallOptions is request option

func Filters

func Filters(f []string) Option

Filters is request option

type Options

type Options struct {
	// chain for client
	ChainName         string
	Filters           []string
	InvocationOptions InvokeOptions
}

Options is a struct to stores information about chain name, filters, and their invocation options

type RPCInvoker

type RPCInvoker struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

RPCInvoker is rpc invoker one invoker for one microservice thread safe

func NewRPCInvoker

func NewRPCInvoker(opt ...Option) *RPCInvoker

NewRPCInvoker is gives the object of rpc invoker

func (*RPCInvoker) Invoke

func (ri *RPCInvoker) Invoke(ctx context.Context, microServiceName, schemaID, operationID string, arg interface{}, reply interface{}, options ...InvocationOption) error

Invoke is for to invoke the functions during API calls

type RestInvoker

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

RestInvoker is rest invoker one invoker for one microservice thread safe

func NewRestInvoker

func NewRestInvoker(opt ...Option) *RestInvoker

NewRestInvoker is gives the object of rest invoker

func (*RestInvoker) ContextDo

func (ri *RestInvoker) ContextDo(ctx context.Context, req *rest.Request, options ...InvocationOption) (*rest.Response, error)

ContextDo is for requesting the API by default if http status is 5XX, then it will return error

Directories

Path Synopsis
Package client is an interface for any protocol's client
Package client is an interface for any protocol's client
Package lager is the package for lager
Package lager is the package for lager
Package loadbalancer is client side load balancer
Package loadbalancer is client side load balancer
Package metadata provides framework info registered to registry.
Package metadata provides framework info registered to registry.
Package router expose API for user to get or set route rule
Package router expose API for user to get or set route rule
cse
Package server is a package for protocol of a micro service
Package server is a package for protocol of a micro service
util

Jump to

Keyboard shortcuts

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