core

package
v0.0.0-...-5e0f84c Latest Latest
Warning

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

Go to latest
Published: Feb 15, 2018 License: Apache-2.0 Imports: 12 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 WithAppID

func WithAppID(p string) InvocationOption

WithAppID is a request option

func WithContentType

func WithContentType(ct string) InvocationOption

WithContentType is a request option

func WithEndpoint

func WithEndpoint(ep string) InvocationOption

WithEndpoint is request option

func WithFilters

func WithFilters(f ...selector.Filter) 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 WithStrategy

func WithStrategy(s string) InvocationOption

WithStrategy is a request option

func WithVersion

func WithVersion(v string) InvocationOption

WithVersion is a request option

type InvokeOptions

type InvokeOptions struct {
	//microservice version
	Version string
	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
	// end to end,Directly call
	ContentType string
	//loadbalance stratery
	//StrategyFunc loadbalance.Strategy
	StrategyFunc string
	Filters      []selector.Filter
	URLPath      string
	MethodType   string
	AppID        string
	// local data
	Metadata map[string]interface{}
}

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 []selector.Filter) Option

Filters is request option

type Options

type Options struct {
	// chain for client
	ChainName         string
	Filters           []selector.Filter
	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

Directories

Path Synopsis
Package lager is the package for lager
Package lager is the package for lager
Package loadbalance is a way to load balance service nodes
Package loadbalance is a way to load balance service nodes
Package metadata provides framework info registered to registry.
Package metadata provides framework info registered to registry.
util

Jump to

Keyboard shortcuts

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