Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LocalDispatch ¶
type LocalDispatch func(metadata.DNShard) 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 WithSenderBackendOptions ¶
func WithSenderBackendOptions(options ...morpc.BackendOption) SenderOption
WithSenderBackendOptions set options for create backend connections
func WithSenderClientOptions ¶
func WithSenderClientOptions(options ...morpc.ClientOption) SenderOption
WithSenderClientOptions set options for create client
func WithSenderLocalDispatch ¶
func WithSenderLocalDispatch(localDispatch LocalDispatch) SenderOption
WithSenderLocalDispatch set options for dispatch request to local to avoid rpc call
func WithSenderPayloadBufferSize ¶
func WithSenderPayloadBufferSize(value int) SenderOption
WithSenderPayloadBufferSize set buffer size for copy payload data to socket.
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 DN 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 DN nodes.
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)
// SetFilter set filter func. Requests can be modified or filtered out by the filter
// before they are processed by the handler.
SetFilter(func(*txn.TxnRequest) bool)
}
TxnServer receives and processes txn requests from TxnSender.