grpc

package
v0.55.1 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2024 License: AGPL-3.0 Imports: 34 Imported by: 1

Documentation

Overview

Package grpc is the root module of the k6-grpc extension.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

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

Client represents a gRPC client that can be used to make RPC requests

func (*Client) AsyncInvoke added in v0.51.0

func (c *Client) AsyncInvoke(
	method string,
	req sobek.Value,
	params sobek.Value,
) (*sobek.Promise, error)

AsyncInvoke creates and calls a unary RPC by fully qualified method name asynchronously

func (*Client) Close

func (c *Client) Close() error

Close will close the client gRPC connection

func (*Client) Connect

func (c *Client) Connect(addr string, params sobek.Value) (bool, error)

Connect is a block dial to the gRPC server at the given address (host:port)

func (*Client) Invoke

func (c *Client) Invoke(
	method string,
	req sobek.Value,
	params sobek.Value,
) (*grpcext.InvokeResponse, error)

Invoke creates and calls a unary RPC by fully qualified method name

func (*Client) Load

func (c *Client) Load(importPaths []string, filenames ...string) ([]MethodInfo, error)

Load will parse the given proto files and make the file descriptors available to request.

func (*Client) LoadProtoset added in v0.41.0

func (c *Client) LoadProtoset(protosetPath string) ([]MethodInfo, error)

LoadProtoset will parse the given protoset file (serialized FileDescriptorSet) and make the file descriptors available to request.

type MethodInfo

type MethodInfo struct {
	Package         string
	Service         string
	FullMethod      string
	grpc.MethodInfo `json:"-" js:"-"`
}

MethodInfo holds information on any parsed method descriptors that can be used by the Sobek VM

type ModuleInstance added in v0.37.0

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

ModuleInstance represents an instance of the GRPC module for every VU.

func (*ModuleInstance) Exports added in v0.37.0

func (mi *ModuleInstance) Exports() modules.Exports

Exports returns the exports of the grpc module.

func (*ModuleInstance) NewClient added in v0.37.0

func (mi *ModuleInstance) NewClient(_ sobek.ConstructorCall) *sobek.Object

NewClient is the JS constructor for the grpc Client.

type RootModule added in v0.37.0

type RootModule struct{}

RootModule is the global module instance that will create module instances for each VU.

func New

func New() *RootModule

New returns a pointer to a new RootModule instance.

func (*RootModule) NewModuleInstance added in v0.37.0

func (r *RootModule) NewModuleInstance(vu modules.VU) modules.Instance

NewModuleInstance implements the modules.Module interface to return a new instance for each VU.

Jump to

Keyboard shortcuts

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