dtmgrpc

package
v1.12.2 Latest Latest
Warning

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

Go to latest
Published: Feb 16, 2022 License: BSD-3-Clause Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddUnaryInterceptor added in v1.8.2

func AddUnaryInterceptor(interceptor grpc.UnaryClientInterceptor)

AddUnaryInterceptor adds grpc.UnaryClientInterceptor

func BarrierFromGrpc

func BarrierFromGrpc(ctx context.Context) (*dtmcli.BranchBarrier, error)

BarrierFromGrpc generate a Barrier from grpc context

func DtmError2GrpcError added in v1.10.0

func DtmError2GrpcError(res interface{}) error

DtmError2GrpcError translate dtm error to grpc error

func GrpcError2DtmError added in v1.11.0

func GrpcError2DtmError(err error) error

GrpcError2DtmError translate grpc error to dtm error

func MustGenGid

func MustGenGid(grpcServer string) string

MustGenGid must gen a gid from grpcServer

func TccGlobalTransaction

func TccGlobalTransaction(dtm string, gid string, tccFunc TccGlobalFunc) (rerr error)

TccGlobalTransaction begin a tcc global transaction dtm dtm服务器地址 gid 全局事务id tccFunc tcc事务函数,里面会定义全局事务的分支

func TccGlobalTransaction2 added in v1.8.2

func TccGlobalTransaction2(dtm string, gid string, custom func(*TccGrpc), tccFunc TccGlobalFunc) (rerr error)

TccGlobalTransaction2 new version of TccGlobalTransaction

func UseDriver

func UseDriver(driverName string) error

UseDriver use the specified driver to handle grpc urls

Types

type MsgGrpc

type MsgGrpc struct {
	dtmcli.Msg
}

MsgGrpc reliable msg type

func NewMsgGrpc

func NewMsgGrpc(server string, gid string) *MsgGrpc

NewMsgGrpc create new msg

func (*MsgGrpc) Add

func (s *MsgGrpc) Add(action string, msg proto.Message) *MsgGrpc

Add add a new step

func (*MsgGrpc) DoAndSubmit added in v1.11.0

func (s *MsgGrpc) DoAndSubmit(queryPrepared string, busiCall func(bb *dtmcli.BranchBarrier) error) error

DoAndSubmit one method for the entire prepare->busi->submit the error returned by busiCall will be returned if busiCall return ErrFailure, then abort is called directly if busiCall return not nil error other than ErrFailure, then DoAndSubmit will call queryPrepared to get the result

func (*MsgGrpc) DoAndSubmitDB added in v1.11.0

func (s *MsgGrpc) DoAndSubmitDB(queryPrepared string, db *sql.DB, busiCall dtmcli.BarrierBusiFunc) error

DoAndSubmitDB short method for Do on db type. please see DoAndSubmit

func (*MsgGrpc) Prepare

func (s *MsgGrpc) Prepare(queryPrepared string) error

Prepare prepare the msg, msg will later be submitted

func (*MsgGrpc) Submit

func (s *MsgGrpc) Submit() error

Submit submit the msg

type SagaGrpc

type SagaGrpc struct {
	dtmcli.Saga
}

SagaGrpc struct of saga

func NewSagaGrpc

func NewSagaGrpc(server string, gid string) *SagaGrpc

NewSagaGrpc create a saga

func (*SagaGrpc) Add

func (s *SagaGrpc) Add(action string, compensate string, payload proto.Message) *SagaGrpc

Add add a saga step

func (*SagaGrpc) AddBranchOrder

func (s *SagaGrpc) AddBranchOrder(branch int, preBranches []int) *SagaGrpc

AddBranchOrder specify that branch should be after preBranches. branch should is larger than all the element in preBranches

func (*SagaGrpc) EnableConcurrent

func (s *SagaGrpc) EnableConcurrent() *SagaGrpc

EnableConcurrent enable the concurrent exec of sub trans

func (*SagaGrpc) Submit

func (s *SagaGrpc) Submit() error

Submit submit the saga trans

type TccGlobalFunc

type TccGlobalFunc func(tcc *TccGrpc) error

TccGlobalFunc type of global tcc call

type TccGrpc

type TccGrpc struct {
	dtmimp.TransBase
}

TccGrpc struct of tcc

func TccFromGrpc

func TccFromGrpc(ctx context.Context) (*TccGrpc, error)

TccFromGrpc tcc from request info

func (*TccGrpc) CallBranch

func (t *TccGrpc) CallBranch(busiMsg proto.Message, tryURL string, confirmURL string, cancelURL string, reply interface{}) error

CallBranch call a tcc branch

type XaGrpc

type XaGrpc struct {
	dtmimp.TransBase
}

XaGrpc xa transaction

func XaGrpcFromRequest

func XaGrpcFromRequest(ctx context.Context) (*XaGrpc, error)

XaGrpcFromRequest construct xa info from request

func (*XaGrpc) CallBranch

func (x *XaGrpc) CallBranch(msg proto.Message, url string, reply interface{}) error

CallBranch call a xa branch

type XaGrpcClient

type XaGrpcClient struct {
	dtmimp.XaClientBase
}

XaGrpcClient xa client

func NewXaGrpcClient

func NewXaGrpcClient(server string, mysqlConf dtmcli.DBConf, notifyURL string) *XaGrpcClient

NewXaGrpcClient construct a xa client

func (*XaGrpcClient) HandleCallback

func (xc *XaGrpcClient) HandleCallback(ctx context.Context) (*emptypb.Empty, error)

HandleCallback 处理commit/rollback的回调

func (*XaGrpcClient) XaGlobalTransaction

func (xc *XaGrpcClient) XaGlobalTransaction(gid string, xaFunc XaGrpcGlobalFunc) error

XaGlobalTransaction start a xa global transaction

func (*XaGrpcClient) XaGlobalTransaction2 added in v1.8.2

func (xc *XaGrpcClient) XaGlobalTransaction2(gid string, custom func(*XaGrpc), xaFunc XaGrpcGlobalFunc) error

XaGlobalTransaction2 new version of XaGlobalTransaction. support custom

func (*XaGrpcClient) XaLocalTransaction

func (xc *XaGrpcClient) XaLocalTransaction(ctx context.Context, msg proto.Message, xaFunc XaGrpcLocalFunc) error

XaLocalTransaction start a xa local transaction

type XaGrpcGlobalFunc

type XaGrpcGlobalFunc func(xa *XaGrpc) error

XaGrpcGlobalFunc type of xa global function

type XaGrpcLocalFunc

type XaGrpcLocalFunc func(db *sql.DB, xa *XaGrpc) error

XaGrpcLocalFunc type of xa local function

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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