endpoint

package
v0.8.1 Latest Latest
Warning

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

Go to latest
Published: Jul 26, 2022 License: MIT Imports: 18 Imported by: 4

Documentation

Index

Constants

View Source
const (
	AppName = "endpoint"
)

Variables

View Source
var (
	BoolQuery_name = map[int32]string{
		0: "ALL",
		1: "TRUE",
		2: "FALSE",
	}
	BoolQuery_value = map[string]int32{
		"ALL":   0,
		"TRUE":  1,
		"FALSE": 2,
	}
)

Enum value maps for BoolQuery.

View Source
var File_apps_endpoint_pb_endpoint_proto protoreflect.FileDescriptor
View Source
var File_apps_endpoint_pb_enum_proto protoreflect.FileDescriptor
View Source
var File_apps_endpoint_pb_request_proto protoreflect.FileDescriptor
View Source
var File_apps_endpoint_pb_resource_proto protoreflect.FileDescriptor
View Source
var File_apps_endpoint_pb_service_proto protoreflect.FileDescriptor
View Source
var Service_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "infraboard.keyauth.endpoint.Service",
	HandlerType: (*ServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "DescribeEndpoint",
			Handler:    _Service_DescribeEndpoint_Handler,
		},
		{
			MethodName: "QueryEndpoints",
			Handler:    _Service_QueryEndpoints_Handler,
		},
		{
			MethodName: "RegistryEndpoint",
			Handler:    _Service_RegistryEndpoint_Handler,
		},
		{
			MethodName: "DeleteEndpoint",
			Handler:    _Service_DeleteEndpoint_Handler,
		},
		{
			MethodName: "QueryResources",
			Handler:    _Service_QueryResources_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "apps/endpoint/pb/service.proto",
}

Service_ServiceDesc is the grpc.ServiceDesc for Service service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func GenHashID

func GenHashID(service, grpcPath string) string

GenHashID hash id

func HttpEntry

func HttpEntry() *http.EntrySet

HttpEntry todo

func RegisterServiceServer

func RegisterServiceServer(s grpc.ServiceRegistrar, srv ServiceServer)

Types

type BoolQuery

type BoolQuery int32
const (
	// ALL todo
	BoolQuery_ALL BoolQuery = 0
	// Pending todo
	BoolQuery_TRUE BoolQuery = 1
	// Passed todo
	BoolQuery_FALSE BoolQuery = 2
)

func ParseBoolQueryFromString

func ParseBoolQueryFromString(str string) (BoolQuery, error)

ParseBoolQueryFromString Parse BoolQuery from string

func (BoolQuery) Descriptor

func (BoolQuery) Descriptor() protoreflect.EnumDescriptor

func (BoolQuery) Enum

func (x BoolQuery) Enum() *BoolQuery

func (BoolQuery) EnumDescriptor deprecated

func (BoolQuery) EnumDescriptor() ([]byte, []int)

Deprecated: Use BoolQuery.Descriptor instead.

func (BoolQuery) Equal

func (t BoolQuery) Equal(target BoolQuery) bool

Equal type compare

func (BoolQuery) IsIn

func (t BoolQuery) IsIn(targets ...BoolQuery) bool

IsIn todo

func (BoolQuery) MarshalJSON

func (t BoolQuery) MarshalJSON() ([]byte, error)

MarshalJSON todo

func (BoolQuery) Number

func (x BoolQuery) Number() protoreflect.EnumNumber

func (BoolQuery) String

func (x BoolQuery) String() string

func (BoolQuery) Type

func (*BoolQuery) UnmarshalJSON

func (t *BoolQuery) UnmarshalJSON(b []byte) error

UnmarshalJSON todo

type DeleteEndpointRequest

type DeleteEndpointRequest struct {

	// @gotags: json:"service_id"
	ServiceId string `protobuf:"bytes,1,opt,name=service_id,json=serviceId,proto3" json:"service_id"`
	// contains filtered or unexported fields
}

DeleteEndpointRequest todo

func NewDeleteEndpointRequestWithServiceID

func NewDeleteEndpointRequestWithServiceID(id string) *DeleteEndpointRequest

NewDeleteEndpointRequestWithServiceID todo

func (*DeleteEndpointRequest) Descriptor deprecated

func (*DeleteEndpointRequest) Descriptor() ([]byte, []int)

Deprecated: Use DeleteEndpointRequest.ProtoReflect.Descriptor instead.

func (*DeleteEndpointRequest) GetServiceId

func (x *DeleteEndpointRequest) GetServiceId() string

func (*DeleteEndpointRequest) ProtoMessage

func (*DeleteEndpointRequest) ProtoMessage()

func (*DeleteEndpointRequest) ProtoReflect

func (x *DeleteEndpointRequest) ProtoReflect() protoreflect.Message

func (*DeleteEndpointRequest) Reset

func (x *DeleteEndpointRequest) Reset()

func (*DeleteEndpointRequest) String

func (x *DeleteEndpointRequest) String() string

type DescribeEndpointRequest

type DescribeEndpointRequest struct {

	// @gotags: json:"id"
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
	// contains filtered or unexported fields
}

DescribeEndpointRequest todo

func NewDescribeEndpointRequestWithID

func NewDescribeEndpointRequestWithID(id string) *DescribeEndpointRequest

NewDescribeEndpointRequestWithID todo

func (*DescribeEndpointRequest) Descriptor deprecated

func (*DescribeEndpointRequest) Descriptor() ([]byte, []int)

Deprecated: Use DescribeEndpointRequest.ProtoReflect.Descriptor instead.

func (*DescribeEndpointRequest) GetId

func (x *DescribeEndpointRequest) GetId() string

func (*DescribeEndpointRequest) ProtoMessage

func (*DescribeEndpointRequest) ProtoMessage()

func (*DescribeEndpointRequest) ProtoReflect

func (x *DescribeEndpointRequest) ProtoReflect() protoreflect.Message

func (*DescribeEndpointRequest) Reset

func (x *DescribeEndpointRequest) Reset()

func (*DescribeEndpointRequest) String

func (x *DescribeEndpointRequest) String() string

func (*DescribeEndpointRequest) Validate

func (req *DescribeEndpointRequest) Validate() error

Validate 校验

type Endpoint

type Endpoint struct {

	// 端点名称
	// @gotags: bson:"_id" json:"id" validate:"required,lte=64"
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id" validate:"required,lte=64"`
	// 创建时间
	// @gotags: bson:"create_at" json:"create_at,omitempty"
	CreateAt int64 `protobuf:"varint,2,opt,name=create_at,json=createAt,proto3" json:"create_at,omitempty" bson:"create_at"`
	// 更新时间
	// @gotags: bson:"update_at" json:"update_at,omitempty"
	UpdateAt int64 `protobuf:"varint,3,opt,name=update_at,json=updateAt,proto3" json:"update_at,omitempty" bson:"update_at"`
	// 该功能属于那个服务
	// @gotags: bson:"service_id" json:"service_id,omitempty" validate:"required,lte=64"
	ServiceId string `` /* 133-byte string literal not displayed */
	// 服务那个版本的功能
	// @gotags: bson:"version" json:"version,omitempty" validate:"required,lte=64"
	Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty" bson:"version" validate:"required,lte=64"`
	// 路由条目信息
	// @gotags: bson:"entry" json:"entry" validate:"required"
	Entry *http.Entry `protobuf:"bytes,6,opt,name=entry,proto3" json:"entry" bson:"entry" validate:"required"`
	// contains filtered or unexported fields
}

Endpoint Service's features

func NewDefaultEndpoint

func NewDefaultEndpoint() *Endpoint

NewDefaultEndpoint todo

func NewEndpoint

func NewEndpoint(serviceID, version string, entry http.Entry) *Endpoint

NewEndpoint todo

func (*Endpoint) Descriptor deprecated

func (*Endpoint) Descriptor() ([]byte, []int)

Deprecated: Use Endpoint.ProtoReflect.Descriptor instead.

func (*Endpoint) GetCreateAt

func (x *Endpoint) GetCreateAt() int64

func (*Endpoint) GetEntry

func (x *Endpoint) GetEntry() *http.Entry

func (*Endpoint) GetId

func (x *Endpoint) GetId() string

func (*Endpoint) GetServiceId

func (x *Endpoint) GetServiceId() string

func (*Endpoint) GetUpdateAt

func (x *Endpoint) GetUpdateAt() int64

func (*Endpoint) GetVersion

func (x *Endpoint) GetVersion() string

func (*Endpoint) LabelsToStr

func (e *Endpoint) LabelsToStr() string

LabelsToStr 扁平化标签 action:get;action:list;action-list-echo

func (*Endpoint) ParseLabels

func (e *Endpoint) ParseLabels(labels string) error

ParseLabels 解析Str格式的label

func (*Endpoint) ProtoMessage

func (*Endpoint) ProtoMessage()

func (*Endpoint) ProtoReflect

func (x *Endpoint) ProtoReflect() protoreflect.Message

func (*Endpoint) Reset

func (x *Endpoint) Reset()

func (*Endpoint) String

func (x *Endpoint) String() string

type QueryEndpointRequest

type QueryEndpointRequest struct {

	// @gotags: json:"page"
	Page *request.PageRequest `protobuf:"bytes,1,opt,name=page,proto3" json:"page"`
	// @gotags: json:"service_ids"
	ServiceIds []string `protobuf:"bytes,2,rep,name=service_ids,json=serviceIds,proto3" json:"service_ids"`
	// @gotags: json:"path"
	Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path"`
	// @gotags: json:"method"
	Method string `protobuf:"bytes,4,opt,name=method,proto3" json:"method"`
	// @gotags: json:"function_name"
	FunctionName string `protobuf:"bytes,5,opt,name=function_name,json=functionName,proto3" json:"function_name"`
	// @gotags: json:"resources"
	Resources []string `protobuf:"bytes,6,rep,name=resources,proto3" json:"resources"`
	// @gotags: json:"labels"
	Labels map[string]string `` /* 143-byte string literal not displayed */
	// @gotags: json:"permission_enable"
	PermissionEnable BoolQuery `` /* 143-byte string literal not displayed */
	// contains filtered or unexported fields
}

QueryEndpointRequest 查询应用列表

func NewQueryEndpointRequest

func NewQueryEndpointRequest(pageReq *request.PageRequest) *QueryEndpointRequest

NewQueryEndpointRequest 列表查询请求

func NewQueryEndpointRequestFromHTTP

func NewQueryEndpointRequestFromHTTP(r *http.Request) *QueryEndpointRequest

NewQueryEndpointRequestFromHTTP 列表查询请求

func (*QueryEndpointRequest) Descriptor deprecated

func (*QueryEndpointRequest) Descriptor() ([]byte, []int)

Deprecated: Use QueryEndpointRequest.ProtoReflect.Descriptor instead.

func (*QueryEndpointRequest) GetFunctionName

func (x *QueryEndpointRequest) GetFunctionName() string

func (*QueryEndpointRequest) GetLabels

func (x *QueryEndpointRequest) GetLabels() map[string]string

func (*QueryEndpointRequest) GetMethod

func (x *QueryEndpointRequest) GetMethod() string

func (*QueryEndpointRequest) GetPage

func (*QueryEndpointRequest) GetPath

func (x *QueryEndpointRequest) GetPath() string

func (*QueryEndpointRequest) GetPermissionEnable

func (x *QueryEndpointRequest) GetPermissionEnable() BoolQuery

func (*QueryEndpointRequest) GetResources

func (x *QueryEndpointRequest) GetResources() []string

func (*QueryEndpointRequest) GetServiceIds

func (x *QueryEndpointRequest) GetServiceIds() []string

func (*QueryEndpointRequest) ProtoMessage

func (*QueryEndpointRequest) ProtoMessage()

func (*QueryEndpointRequest) ProtoReflect

func (x *QueryEndpointRequest) ProtoReflect() protoreflect.Message

func (*QueryEndpointRequest) Reset

func (x *QueryEndpointRequest) Reset()

func (*QueryEndpointRequest) String

func (x *QueryEndpointRequest) String() string

type QueryResourceRequest

type QueryResourceRequest struct {

	// @gotags: json:"page"
	Page *request.PageRequest `protobuf:"bytes,1,opt,name=page,proto3" json:"page"`
	// @gotags: json:"service_ids"
	ServiceIds []string `protobuf:"bytes,2,rep,name=service_ids,json=serviceIds,proto3" json:"service_ids"`
	// @gotags: json:"resources"
	Resources []string `protobuf:"bytes,3,rep,name=resources,proto3" json:"resources"`
	// @gotags: json:"permission_enable"
	PermissionEnable BoolQuery `` /* 143-byte string literal not displayed */
	// contains filtered or unexported fields
}

QueryResourceRequest todo

func NewQueryResourceRequestFromHTTP

func NewQueryResourceRequestFromHTTP(r *http.Request) *QueryResourceRequest

NewQueryResourceRequestFromHTTP 列表查询请求

func (*QueryResourceRequest) Descriptor deprecated

func (*QueryResourceRequest) Descriptor() ([]byte, []int)

Deprecated: Use QueryResourceRequest.ProtoReflect.Descriptor instead.

func (*QueryResourceRequest) GetPage

func (*QueryResourceRequest) GetPermissionEnable

func (x *QueryResourceRequest) GetPermissionEnable() BoolQuery

func (*QueryResourceRequest) GetResources

func (x *QueryResourceRequest) GetResources() []string

func (*QueryResourceRequest) GetServiceIds

func (x *QueryResourceRequest) GetServiceIds() []string

func (*QueryResourceRequest) ProtoMessage

func (*QueryResourceRequest) ProtoMessage()

func (*QueryResourceRequest) ProtoReflect

func (x *QueryResourceRequest) ProtoReflect() protoreflect.Message

func (*QueryResourceRequest) Reset

func (x *QueryResourceRequest) Reset()

func (*QueryResourceRequest) String

func (x *QueryResourceRequest) String() string

func (*QueryResourceRequest) Validate

func (req *QueryResourceRequest) Validate() error

Validate todo

type RegistryRequest

type RegistryRequest struct {

	// @gotags: json:"client_id" validate:"required"
	ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id" validate:"required"`
	// @gotags: json:"client_secret" validate:"required"
	ClientSecret string `protobuf:"bytes,2,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret" validate:"required"`
	// @gotags: json:"version" validate:"required,lte=32"
	Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version" validate:"required,lte=32"`
	// @gotags: json:"entries"
	Entries []*http.Entry `protobuf:"bytes,4,rep,name=entries,proto3" json:"entries"`
	// contains filtered or unexported fields
}

RegistryRequest 服务注册请求

func NewDefaultRegistryRequest

func NewDefaultRegistryRequest() *RegistryRequest

NewDefaultRegistryRequest todo

func NewRegistryRequest

func NewRegistryRequest(version string, entries []*httpb.Entry) *RegistryRequest

NewRegistryRequest 注册请求

func (*RegistryRequest) Descriptor deprecated

func (*RegistryRequest) Descriptor() ([]byte, []int)

Deprecated: Use RegistryRequest.ProtoReflect.Descriptor instead.

func (*RegistryRequest) Endpoints

func (req *RegistryRequest) Endpoints(serviceID string) []*Endpoint

Endpoints 功能列表

func (*RegistryRequest) GetClientId

func (x *RegistryRequest) GetClientId() string

func (*RegistryRequest) GetClientSecret

func (x *RegistryRequest) GetClientSecret() string

func (*RegistryRequest) GetEntries

func (x *RegistryRequest) GetEntries() []*http.Entry

func (*RegistryRequest) GetVersion

func (x *RegistryRequest) GetVersion() string

func (*RegistryRequest) ProtoMessage

func (*RegistryRequest) ProtoMessage()

func (*RegistryRequest) ProtoReflect

func (x *RegistryRequest) ProtoReflect() protoreflect.Message

func (*RegistryRequest) Reset

func (x *RegistryRequest) Reset()

func (*RegistryRequest) String

func (x *RegistryRequest) String() string

func (*RegistryRequest) Validate

func (req *RegistryRequest) Validate() error

Validate 校验注册请求合法性

type RegistryResponse

type RegistryResponse struct {

	// @gotags: json:"message"
	Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message"`
	// contains filtered or unexported fields
}

RegistryReponse todo

func NewRegistryResponse

func NewRegistryResponse(message string) *RegistryResponse

NewRegistryResponse todo

func (*RegistryResponse) Descriptor deprecated

func (*RegistryResponse) Descriptor() ([]byte, []int)

Deprecated: Use RegistryResponse.ProtoReflect.Descriptor instead.

func (*RegistryResponse) GetMessage

func (x *RegistryResponse) GetMessage() string

func (*RegistryResponse) ProtoMessage

func (*RegistryResponse) ProtoMessage()

func (*RegistryResponse) ProtoReflect

func (x *RegistryResponse) ProtoReflect() protoreflect.Message

func (*RegistryResponse) Reset

func (x *RegistryResponse) Reset()

func (*RegistryResponse) String

func (x *RegistryResponse) String() string

type Resource

type Resource struct {

	// 资源所属服务名称
	// @gotags: json:"service_id"
	ServiceId string `protobuf:"bytes,1,opt,name=service_id,json=serviceId,proto3" json:"service_id"`
	// 资源名称
	// @gotags: json:"name"
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"`
	// 资源支持操作的path
	// @gotags: json:"paths"
	Paths []string `protobuf:"bytes,3,rep,name=paths,proto3" json:"paths"`
	// 支持操作的方法
	// @gotags: json:"methods"
	Methods []string `protobuf:"bytes,4,rep,name=methods,proto3" json:"methods"`
	// 支持操作的函数
	// @gotags: json:"functions"
	Functions []string `protobuf:"bytes,5,rep,name=functions,proto3" json:"functions"`
	// 支持操作的动作
	// @gotags: json:"actions"
	Actions []string `protobuf:"bytes,6,rep,name=actions,proto3" json:"actions"`
	// contains filtered or unexported fields
}

Resource todo

func (*Resource) Descriptor deprecated

func (*Resource) Descriptor() ([]byte, []int)

Deprecated: Use Resource.ProtoReflect.Descriptor instead.

func (*Resource) GetActions

func (x *Resource) GetActions() []string

func (*Resource) GetFunctions

func (x *Resource) GetFunctions() []string

func (*Resource) GetMethods

func (x *Resource) GetMethods() []string

func (*Resource) GetName

func (x *Resource) GetName() string

func (*Resource) GetPaths

func (x *Resource) GetPaths() []string

func (*Resource) GetServiceId

func (x *Resource) GetServiceId() string

func (*Resource) ProtoMessage

func (*Resource) ProtoMessage()

func (*Resource) ProtoReflect

func (x *Resource) ProtoReflect() protoreflect.Message

func (*Resource) Reset

func (x *Resource) Reset()

func (*Resource) String

func (x *Resource) String() string

func (*Resource) UpdateAction

func (r *Resource) UpdateAction(action string)

UpdateAction todo

func (*Resource) UpdateFunction

func (r *Resource) UpdateFunction(fuction string)

UpdateFunction todo

func (*Resource) UpdateMethod

func (r *Resource) UpdateMethod(mothod string)

UpdateMethod todo

func (*Resource) UpdatePath

func (r *Resource) UpdatePath(path string)

UpdatePath todo

type ResourceSet

type ResourceSet struct {

	// @gotags: bson:"total" json:"total"
	Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total" bson:"total"`
	// @gotags: bson:"items" json:"items"
	Items []*Resource `protobuf:"bytes,2,rep,name=items,proto3" json:"items" bson:"items"`
	// contains filtered or unexported fields
}

func NewResourceSet

func NewResourceSet() *ResourceSet

NewResourceSet todo

func (*ResourceSet) AddEndpointSet

func (s *ResourceSet) AddEndpointSet(eps *Set)

AddEndpointSet todo

func (*ResourceSet) Descriptor deprecated

func (*ResourceSet) Descriptor() ([]byte, []int)

Deprecated: Use ResourceSet.ProtoReflect.Descriptor instead.

func (*ResourceSet) GetItems

func (x *ResourceSet) GetItems() []*Resource

func (*ResourceSet) GetTotal

func (x *ResourceSet) GetTotal() int64

func (*ResourceSet) ProtoMessage

func (*ResourceSet) ProtoMessage()

func (*ResourceSet) ProtoReflect

func (x *ResourceSet) ProtoReflect() protoreflect.Message

func (*ResourceSet) Reset

func (x *ResourceSet) Reset()

func (*ResourceSet) String

func (x *ResourceSet) String() string

type ServiceClient

type ServiceClient interface {
	DescribeEndpoint(ctx context.Context, in *DescribeEndpointRequest, opts ...grpc.CallOption) (*Endpoint, error)
	QueryEndpoints(ctx context.Context, in *QueryEndpointRequest, opts ...grpc.CallOption) (*Set, error)
	RegistryEndpoint(ctx context.Context, in *RegistryRequest, opts ...grpc.CallOption) (*RegistryResponse, error)
	DeleteEndpoint(ctx context.Context, in *DeleteEndpointRequest, opts ...grpc.CallOption) (*Endpoint, error)
	QueryResources(ctx context.Context, in *QueryResourceRequest, opts ...grpc.CallOption) (*ResourceSet, error)
}

ServiceClient is the client API for Service service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

func NewServiceClient

func NewServiceClient(cc grpc.ClientConnInterface) ServiceClient

type ServiceServer

type ServiceServer interface {
	DescribeEndpoint(context.Context, *DescribeEndpointRequest) (*Endpoint, error)
	QueryEndpoints(context.Context, *QueryEndpointRequest) (*Set, error)
	RegistryEndpoint(context.Context, *RegistryRequest) (*RegistryResponse, error)
	DeleteEndpoint(context.Context, *DeleteEndpointRequest) (*Endpoint, error)
	QueryResources(context.Context, *QueryResourceRequest) (*ResourceSet, error)
	// contains filtered or unexported methods
}

ServiceServer is the server API for Service service. All implementations must embed UnimplementedServiceServer for forward compatibility

type Set

type Set struct {

	// @gotags: bson:"total" json:"total"
	Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total" bson:"total"`
	// @gotags: bson:"items" json:"items"
	Items []*Endpoint `protobuf:"bytes,2,rep,name=items,proto3" json:"items" bson:"items"`
	// contains filtered or unexported fields
}

func NewEndpointSet

func NewEndpointSet() *Set

NewEndpointSet 实例化

func (*Set) Add

func (s *Set) Add(e *Endpoint)

Add 添加

func (*Set) Descriptor deprecated

func (*Set) Descriptor() ([]byte, []int)

Deprecated: Use Set.ProtoReflect.Descriptor instead.

func (*Set) GetItems

func (x *Set) GetItems() []*Endpoint

func (*Set) GetTotal

func (x *Set) GetTotal() int64

func (*Set) ProtoMessage

func (*Set) ProtoMessage()

func (*Set) ProtoReflect

func (x *Set) ProtoReflect() protoreflect.Message

func (*Set) Reset

func (x *Set) Reset()

func (*Set) String

func (x *Set) String() string

type UnimplementedServiceServer

type UnimplementedServiceServer struct {
}

UnimplementedServiceServer must be embedded to have forward compatible implementations.

func (UnimplementedServiceServer) DeleteEndpoint

func (UnimplementedServiceServer) DescribeEndpoint

func (UnimplementedServiceServer) QueryEndpoints

func (UnimplementedServiceServer) QueryResources

func (UnimplementedServiceServer) RegistryEndpoint

type UnsafeServiceServer

type UnsafeServiceServer interface {
	// contains filtered or unexported methods
}

UnsafeServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ServiceServer will result in compilation errors.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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