rpc

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Feb 2, 2024 License: Apache-2.0 Imports: 16 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config added in v0.6.0

type Config = morpc.Config

Config config

type LocalDispatch

type LocalDispatch func(metadata.TNShard) TxnRequestHandleFunc

LocalDispatch used to returns request handler on local, avoid rpc

type SendResult added in v0.5.1

type SendResult struct {
	Responses []txn.TxnResponse
	// contains filtered or unexported fields
}

SendResult wrapping []txn.TxnResponse for reuse

func (*SendResult) Release added in v0.5.1

func (sr *SendResult) Release()

Release release send result

type SenderOption

type SenderOption func(*sender)

SenderOption option for create Sender

func WithSenderLocalDispatch

func WithSenderLocalDispatch(localDispatch LocalDispatch) SenderOption

WithSenderLocalDispatch set options for dispatch request to local to avoid rpc call

type ServerOption added in v0.6.0

type ServerOption func(*server)

ServerOption option for create TxnServer

func WithServerEnableCompress added in v0.7.0

func WithServerEnableCompress(enable bool) ServerOption

WithServerEnableCompress enable compress

func WithServerMaxMessageSize added in v0.6.0

func WithServerMaxMessageSize(maxMessageSize int) ServerOption

WithServerMaxMessageSize set max rpc message size

func WithServerMessageFilter added in v0.6.0

func WithServerMessageFilter(filter func(*txn.TxnRequest) bool) ServerOption

set filter func. Requests can be modified or filtered out by the filter before they are processed by the handler.

func WithServerQueueBufferSize added in v0.8.0

func WithServerQueueBufferSize(value int) ServerOption

WithServerQueueBufferSize set queue buffer size

func WithServerQueueWorkers added in v0.8.0

func WithServerQueueWorkers(value int) ServerOption

WithServerQueueWorkers set worker number

type TxnRequestHandleFunc

type TxnRequestHandleFunc func(context.Context, *txn.TxnRequest, *txn.TxnResponse) error

TxnRequestHandleFunc txn request handle func

type TxnSender

type TxnSender interface {
	// Send send request to the specified TN node, and wait for response synchronously.
	// For any reason, if no response is received, the internal will keep retrying until
	// the Context times out.
	Send(context.Context, []txn.TxnRequest) (*SendResult, error)
	// Close the txn sender
	Close() error
}

TxnSender is used to send transaction requests to the TN nodes.

func NewSender

func NewSender(
	cfg Config,
	rt moruntime.Runtime,
	options ...SenderOption) (TxnSender, error)

NewSender create a txn sender

type TxnServer

type TxnServer interface {
	// Start start the txn server
	Start() error
	// Close the txn server
	Close() error
	// RegisterMethodHandler register txn request handler func
	RegisterMethodHandler(txn.TxnMethod, TxnRequestHandleFunc)
}

TxnServer receives and processes txn requests from TxnSender.

func NewTxnServer

func NewTxnServer(
	address string,
	rt runtime.Runtime,
	opts ...ServerOption) (TxnServer, error)

NewTxnServer create a txn server. One DNStore corresponds to one TxnServer

Jump to

Keyboard shortcuts

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