protocol

package
v1.6.0 Latest Latest
Warning

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

Go to latest
Published: Jul 1, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrClientClosed means client has clossed.
	ErrClientClosed = perrors.New("remoting client has closed")
	// ErrNoReply
	ErrNoReply = perrors.New("request need @response")
	// ErrDestroyedInvoker
	ErrDestroyedInvoker = perrors.New("request Destroyed invoker")
)

Functions

func BeginCount

func BeginCount(url *common.URL, methodName string)

BeginCount gets begin count.

func CleanAllStatus

func CleanAllStatus()

Destroy is used to clean all status

func CurrentTimeMillis

func CurrentTimeMillis() int64

CurrentTimeMillis get current timestamp

func EndCount

func EndCount(url *common.URL, methodName string, elapsed int64, succeeded bool)

EndCount gets end count.

func GetAndRefreshState

func GetAndRefreshState(url *common.URL) bool

nolint

Types

type BaseExporter

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

BaseExporter is default exporter implement.

func NewBaseExporter

func NewBaseExporter(key string, invoker Invoker, exporterMap *sync.Map) *BaseExporter

NewBaseExporter creates a new BaseExporter

func (*BaseExporter) GetInvoker

func (de *BaseExporter) GetInvoker() Invoker

GetInvoker gets invoker

func (*BaseExporter) Unexport

func (de *BaseExporter) Unexport()

Unexport exported service.

type BaseInvoker

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

BaseInvoker provides default invoker implement

func NewBaseInvoker

func NewBaseInvoker(url *common.URL) *BaseInvoker

NewBaseInvoker creates a new BaseInvoker

func (*BaseInvoker) Destroy

func (bi *BaseInvoker) Destroy()

Destroy changes available and destroyed flag

func (*BaseInvoker) GetURL

func (bi *BaseInvoker) GetURL() *common.URL

GetURL gets base invoker URL

func (*BaseInvoker) Invoke

func (bi *BaseInvoker) Invoke(context context.Context, invocation Invocation) Result

Invoke provides default invoker implement

func (*BaseInvoker) IsAvailable

func (bi *BaseInvoker) IsAvailable() bool

IsAvailable gets available flag

func (*BaseInvoker) IsDestroyed

func (bi *BaseInvoker) IsDestroyed() bool

IsDestroyed gets destroyed flag

type BaseProtocol

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

BaseProtocol is default protocol implement.

func NewBaseProtocol

func NewBaseProtocol() BaseProtocol

NewBaseProtocol creates a new BaseProtocol

func (*BaseProtocol) Destroy

func (bp *BaseProtocol) Destroy()

Destroy will destroy all invoker and exporter, so it only is called once.

func (*BaseProtocol) Export

func (bp *BaseProtocol) Export(invoker Invoker) Exporter

Export is default export implement.

func (*BaseProtocol) ExporterMap

func (bp *BaseProtocol) ExporterMap() *sync.Map

ExporterMap gets exporter map.

func (*BaseProtocol) Invokers

func (bp *BaseProtocol) Invokers() []Invoker

Invokers gets all invokers

func (*BaseProtocol) Refer

func (bp *BaseProtocol) Refer(url *common.URL) Invoker

Refer is default refer implement.

func (*BaseProtocol) SetExporterMap

func (bp *BaseProtocol) SetExporterMap(key string, exporter Exporter)

SetExporterMap set @exporter with @key to local memory.

func (*BaseProtocol) SetInvokers

func (bp *BaseProtocol) SetInvokers(invoker Invoker)

SetInvokers sets invoker into local memory

type Exporter

type Exporter interface {
	// GetInvoker gets invoker.
	GetInvoker() Invoker
	// Unexport exported service.
	Unexport()
}

Exporter wrapping invoker

type Invocation

type Invocation interface {
	// MethodName gets invocation method name.
	MethodName() string
	// ActualMethodName gets actual invocation method name. It returns the method name been called if it's a generic call
	ActualMethodName() string
	// ParameterTypeNames gets invocation parameter type names.
	ParameterTypeNames() []string
	// ParameterTypes gets invocation parameter types.
	ParameterTypes() []reflect.Type
	// ParameterValues gets invocation parameter values.
	ParameterValues() []reflect.Value
	// Arguments gets arguments.
	Arguments() []interface{}
	// Reply gets response of request
	Reply() interface{}
	// Attachments gets all attachments
	Attachments() map[string]interface{}
	// AttachmentsByKey gets attachment by key , if nil then return default value. (It will be deprecated in the future)
	AttachmentsByKey(string, string) string
	Attachment(string) interface{}
	// Attributes refers to dubbo 2.7.6.  It is different from attachment. It is used in internal process.
	Attributes() map[string]interface{}
	// AttributeByKey gets attribute by key , if nil then return default value
	AttributeByKey(string, interface{}) interface{}
	// SetAttachments sets attribute by @key and @value.
	SetAttachments(key string, value interface{})
	// Invoker gets the invoker in current context.
	Invoker() Invoker
	// IsGenericInvocation checks if this is a generic invocation
	IsGenericInvocation() bool
}

Invocation is a invocation for each remote method.

type Invoker

type Invoker interface {
	common.Node
	// Invoke the invocation and return result.
	Invoke(context.Context, Invocation) Result
}

Invoker the service invocation interface for the consumer Extension - Invoker

type Protocol

type Protocol interface {
	// Export service for remote invocation
	Export(invoker Invoker) Exporter
	// Refer a remote service
	Refer(url *common.URL) Invoker
	// Destroy will destroy all invoker and exporter, so it only is called once.
	Destroy()
}

Protocol Extension - protocol

type RPCResult

type RPCResult struct {
	Attrs map[string]interface{}
	Err   error
	Rest  interface{}
}

RPCResult is default RPC result.

func (*RPCResult) AddAttachment

func (r *RPCResult) AddAttachment(key string, value interface{})

AddAttachment adds the specified map to existing attachments in this instance.

func (*RPCResult) Attachment

func (r *RPCResult) Attachment(key string, defaultValue interface{}) interface{}

Attachment gets attachment by key with default value.

func (*RPCResult) Attachments

func (r *RPCResult) Attachments() map[string]interface{}

Attachments gets all attachments

func (*RPCResult) Error

func (r *RPCResult) Error() error

Error gets error.

func (*RPCResult) Result

func (r *RPCResult) Result() interface{}

Result gets invoker result.

func (*RPCResult) SetAttachments

func (r *RPCResult) SetAttachments(attr map[string]interface{})

SetAttachments replaces the existing attachments with the specified param.

func (*RPCResult) SetError

func (r *RPCResult) SetError(err error)

SetError sets error.

func (*RPCResult) SetResult

func (r *RPCResult) SetResult(rest interface{})

SetResult sets invoker result.

type RPCStatus

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

RPCStatus is URL statistics.

func GetMethodStatus

func GetMethodStatus(url *common.URL, methodName string) *RPCStatus

GetMethodStatus get method RPC status.

func GetURLStatus

func GetURLStatus(url *common.URL) *RPCStatus

GetURLStatus get URL RPC status.

func (*RPCStatus) GetActive

func (rpc *RPCStatus) GetActive() int32

GetActive gets active.

func (*RPCStatus) GetFailed

func (rpc *RPCStatus) GetFailed() int32

GetFailed gets failed.

func (*RPCStatus) GetFailedElapsed

func (rpc *RPCStatus) GetFailedElapsed() int64

GetFailedElapsed gets failed elapsed.

func (*RPCStatus) GetFailedMaxElapsed

func (rpc *RPCStatus) GetFailedMaxElapsed() int64

GetFailedMaxElapsed gets failed max elapsed.

func (*RPCStatus) GetLastRequestFailedTimestamp

func (rpc *RPCStatus) GetLastRequestFailedTimestamp() int64

GetLastRequestFailedTimestamp gets last request failed timestamp.

func (*RPCStatus) GetMaxElapsed

func (rpc *RPCStatus) GetMaxElapsed() int64

GetMaxElapsed gets max elapsed.

func (*RPCStatus) GetSucceededMaxElapsed

func (rpc *RPCStatus) GetSucceededMaxElapsed() int64

GetSucceededMaxElapsed gets succeeded max elapsed.

func (*RPCStatus) GetSuccessiveRequestFailureCount

func (rpc *RPCStatus) GetSuccessiveRequestFailureCount() int32

GetSuccessiveRequestFailureCount gets successive request failure count.

func (*RPCStatus) GetTotal

func (rpc *RPCStatus) GetTotal() int32

GetTotal gets total.

func (*RPCStatus) GetTotalElapsed

func (rpc *RPCStatus) GetTotalElapsed() int64

GetTotalElapsed gets total elapsed.

type Result

type Result interface {
	// SetError sets error.
	SetError(error)
	// Error gets error.
	Error() error
	// SetResult sets invoker result.
	SetResult(interface{})
	// Result gets invoker result.
	Result() interface{}
	// SetAttachments replaces the existing attachments with the specified param.
	SetAttachments(map[string]interface{})
	// Attachments gets all attachments
	Attachments() map[string]interface{}

	// AddAttachment adds the specified map to existing attachments in this instance.
	AddAttachment(string, interface{})
	// Attachment gets attachment by key with default value.
	Attachment(string, interface{}) interface{}
}

Result is a RPC result

type ServiceHealthState

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

func NewServiceState

func NewServiceState(serviceKey string) *ServiceHealthState

Directories

Path Synopsis
hessian2
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.
impl
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.
internal
just for test, never use internal for production.
just for test, never use internal for production.
protoc-gen-dubbo/plugin/dubbo
Package dubbo plugin for protobuf.
Package dubbo plugin for protobuf.
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.

Jump to

Keyboard shortcuts

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