rpc

package
v0.0.0-...-432d548 Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2024 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// MetricRPCReadTime read data in rpc time
	// labels: [cluster, namespace, resource]
	MetricRPCReadTime = "rpc_read_time"

	// MetricRPCUnmarshalTime unmarshal time in rpc
	// labels: [cluster, namespace, resource]
	MetricRPCUnmarshalTime = "rpc_unmarshal_time"

	// MetricListRemoteTime list remote data time in rpc
	// labels: [cluster, namespace, resource]
	MetricListRemoteTime = "rpc_list_remote_time"

	// MetricRPCWriteTime write data in rpc time
	// labels: [cluster, namespace, resource, method, success]
	MetricRPCWriteTime = "rpc_write_time"
)

Variables

Metrics is a metric factory.

Functions

func NewRemoteClient

func NewRemoteClient(resolver EndpointResolver, serializer runtime.NegotiatedSerializer, opts *RemoteClientOpts) client.Client

NewRemoteClient new remote client

Types

type CalcShardIDFunc

type CalcShardIDFunc func(obj interface{}) (string, error)

CalcShardIDFunc calc shardID func

type EndpointResolver

type EndpointResolver interface {
	// RegisterCalcShardIDFunc  register calc shardID func
	RegisterCalcShardIDFunc(f CalcShardIDFunc)
	Resolve(namespace string, obj interface{}) (*NodeInfo, error)
	ResolveAll(namespace string) ([]*NodeInfo, error)
}

EndpointResolver resolve server address.

type FakeResolver

type FakeResolver struct {
}

FakeResolver resolve server address.

func (*FakeResolver) RegisterCalcShardIDFunc

func (f *FakeResolver) RegisterCalcShardIDFunc(cf CalcShardIDFunc)

RegisterCalcShardIDFunc register calc shardID func

func (*FakeResolver) Resolve

func (f *FakeResolver) Resolve(namespace string, obj interface{}) (*NodeInfo, error)

Resolve resolve config

func (*FakeResolver) ResolveAll

func (f *FakeResolver) ResolveAll(namespace string) ([]*NodeInfo, error)

ResolveAll resolve config

type NodeInfo

type NodeInfo struct {
	IP   string
	Port string
}

NodeInfo contains ip and port

func (*NodeInfo) String

func (n *NodeInfo) String() string

type RemoteClientOpts

type RemoteClientOpts struct {
	Timeout int // in second
	Src     string
	Cluster string
	Group   string
	Version string
	// set Accept http header, <resource, accept-header>
	Accepts map[string]string
}

RemoteClientOpts remote client opts

type ResourceRequest

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

ResourceRequest contains restful.Request

func (ResourceRequest) URL

func (r ResourceRequest) URL() string

type Service

type Service interface {
	GetHandlerService() *restful.WebService
}

Service represents a rpc server to serve mem kube resources.

func NewService

func NewService(client client.Client, resourceScheme *mem.ResourceScheme, ns runtime.NegotiatedSerializer, opts *ServiceOptions) Service

NewService create a new rpc service. If we use http, we may pass a http container here, e.g: NewService(webContainer, ...)

type ServiceOptions

type ServiceOptions struct {
}

ServiceOptions represents rpc service options, e.g, listen port.

type SingleNodeInvoker

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

SingleNodeInvoker single node

func NewSingleNodeInvoker

func NewSingleNodeInvoker(src, cluster, pathFormat string, rpcNode *NodeInfo, httpclient *utils.LiteHTTPClient) *SingleNodeInvoker

NewSingleNodeInvoker create new single node http invoker

func (*SingleNodeInvoker) Create

func (h *SingleNodeInvoker) Create(resource, ns string, object runtime.Object) (runtime.Object, error)

Create create resource

func (*SingleNodeInvoker) Delete

func (h *SingleNodeInvoker) Delete(resource, ns, name string, opts *metav1.DeleteOptions) error

Delete delete resource

func (*SingleNodeInvoker) Get

func (h *SingleNodeInvoker) Get(resource, ns, name string, opts *metav1.GetOptions, into runtime.Object) (runtime.Object, error)

Get get resource

func (*SingleNodeInvoker) List

func (h *SingleNodeInvoker) List(resource, ns string, opts *metav1.ListOptions, into runtime.Object) error

List query list resource

func (*SingleNodeInvoker) SetAccepts

func (h *SingleNodeInvoker) SetAccepts(accepts string)

SetAccepts set http accepts header

func (*SingleNodeInvoker) Update

func (h *SingleNodeInvoker) Update(resource, ns, name string, object runtime.Object) (runtime.Object, error)

Update update resource

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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