SYMBOL INDEX (1235 symbols across 155 files) FILE: admin/src/api/api_dtm.ts type IListAllTransactionsReq (line 4) | interface IListAllTransactionsReq { type IListAllKVReq (line 10) | interface IListAllKVReq { function listAllTransactions (line 16) | function listAllTransactions( function forceStopTransaction (line 26) | function forceStopTransaction(gid: string): Promise { function queryKVPair (line 34) | function queryKVPair(payload: { function listKVPairs (line 45) | function listKVPairs( function deleteTopic (line 55) | function deleteTopic(topicName: string): Promise> { function subscribe (line 62) | function subscribe(payload: { function unsubscribe (line 74) | function unsubscribe(payload: { function getTransaction (line 85) | function getTransaction(payload: { function resetNextCronTime (line 95) | function resetNextCronTime(gid: string): Promise { function getDtmVersion (line 103) | function getDtmVersion(): Promise> { FILE: admin/src/components.d.ts type GlobalComponents (line 9) | interface GlobalComponents { FILE: admin/src/main.ts function showAlert (line 27) | function showAlert(msg: string) { FILE: admin/src/store/modules/layout.ts method getMenubar (line 19) | getMenubar(): IMenubar { method getStatus (line 22) | getStatus(): IStatus { method setRoutes (line 27) | setRoutes(data: Array): void { method setGlobalError (line 30) | setGlobalError(err: string) { method concatAllowRoutes (line 33) | concatAllowRoutes(): void { method loadDtmVersion (line 36) | async loadDtmVersion(): Promise { FILE: admin/src/type/index.d.ts type IObject (line 3) | interface IObject { type ImportMetaEnv (line 6) | interface ImportMetaEnv { type ITable (line 12) | interface ITable { type Window (line 17) | interface Window { FILE: admin/src/type/store/layout.ts type IMenubar (line 1) | interface IMenubar { type ILayout (line 5) | interface ILayout { type IStatus (line 12) | interface IStatus { type IMenubarList (line 16) | interface IMenubarList { FILE: admin/vite.config.ts method renderBuiltUrl (line 37) | renderBuiltUrl( FILE: client/dtmcli/barrier.go type BarrierBusiFunc (line 19) | type BarrierBusiFunc type BranchBarrier (line 22) | type BranchBarrier struct method String (line 32) | func (bb *BranchBarrier) String() string { method newBarrierID (line 36) | func (bb *BranchBarrier) newBarrierID() string { method Call (line 63) | func (bb *BranchBarrier) Call(tx *sql.Tx, busiCall BarrierBusiFunc) (r... method CallWithDB (line 99) | func (bb *BranchBarrier) CallWithDB(db *sql.DB, busiCall BarrierBusiFu... method QueryPrepared (line 108) | func (bb *BranchBarrier) QueryPrepared(db *sql.DB) error { function BarrierFromQuery (line 42) | func BarrierFromQuery(qs url.Values) (*BranchBarrier, error) { function BarrierFrom (line 47) | func BarrierFrom(transType, gid, branchID, op string) (*BranchBarrier, e... FILE: client/dtmcli/barrier_mongo.go method MongoCall (line 15) | func (bb *BranchBarrier) MongoCall(mc *mongo.Client, busiCall func(mongo... method MongoQueryPrepared (line 56) | func (bb *BranchBarrier) MongoQueryPrepared(mc *mongo.Client) error { function mongoInsertBarrier (line 79) | func mongoInsertBarrier(sc context.Context, mc *mongo.Client, transType ... FILE: client/dtmcli/barrier_redis.go method RedisCheckAdjustAmount (line 13) | func (bb *BranchBarrier) RedisCheckAdjustAmount(rd redis.Cmdable, key st... method RedisQueryPrepared (line 58) | func (bb *BranchBarrier) RedisQueryPrepared(rd redis.Cmdable, barrierExp... FILE: client/dtmcli/consts.go constant StatusPrepared (line 16) | StatusPrepared = "prepared" constant StatusSubmitted (line 18) | StatusSubmitted = "submitted" constant StatusSucceed (line 20) | StatusSucceed = "succeed" constant StatusFailed (line 23) | StatusFailed = "failed" constant StatusAborting (line 25) | StatusAborting = "aborting" constant ResultSuccess (line 28) | ResultSuccess = dtmimp.ResultSuccess constant ResultFailure (line 30) | ResultFailure = dtmimp.ResultFailure constant ResultOngoing (line 32) | ResultOngoing = dtmimp.ResultOngoing constant DBTypeMysql (line 35) | DBTypeMysql = dtmimp.DBTypeMysql constant DBTypePostgres (line 37) | DBTypePostgres = dtmimp.DBTypePostgres constant DBTypeSQLServer (line 39) | DBTypeSQLServer = dtmimp.DBTypeSQLServer FILE: client/dtmcli/cover_test.go function TestQuery (line 16) | func TestQuery(t *testing.T) { FILE: client/dtmcli/dtmimp/consts.go constant ResultFailure (line 12) | ResultFailure = "FAILURE" constant ResultSuccess (line 15) | ResultSuccess = "SUCCESS" constant ResultOngoing (line 18) | ResultOngoing = "ONGOING" constant OpTry (line 21) | OpTry = "try" constant OpConfirm (line 23) | OpConfirm = "confirm" constant OpCancel (line 25) | OpCancel = "cancel" constant OpAction (line 27) | OpAction = "action" constant OpCompensate (line 29) | OpCompensate = "compensate" constant OpCommit (line 31) | OpCommit = "commit" constant OpRollback (line 33) | OpRollback = "rollback" constant DBTypeMysql (line 36) | DBTypeMysql = "mysql" constant DBTypePostgres (line 38) | DBTypePostgres = "postgres" constant DBTypeSQLServer (line 40) | DBTypeSQLServer = "sqlserver" constant DBTypeRedis (line 42) | DBTypeRedis = "redis" constant Jrpc (line 44) | Jrpc = "json-rpc" constant JrpcCodeFailure (line 46) | JrpcCodeFailure = -32901 constant JrpcCodeOngoing (line 49) | JrpcCodeOngoing = -32902 constant MsgDoBranch0 (line 52) | MsgDoBranch0 = "00" constant MsgDoBarrier1 (line 54) | MsgDoBarrier1 = "01" constant MsgDoOp (line 56) | MsgDoOp = "msg" constant MsgTopicPrefix (line 58) | MsgTopicPrefix = "topic://" constant XaBarrier1 (line 61) | XaBarrier1 = "01" constant ProtocolGRPC (line 64) | ProtocolGRPC = "grpc" constant ProtocolHTTP (line 66) | ProtocolHTTP = "http" FILE: client/dtmcli/dtmimp/db_special.go type DBSpecial (line 15) | type DBSpecial interface type mysqlDBSpecial (line 24) | type mysqlDBSpecial struct method GetPlaceHoldSQL (line 26) | func (*mysqlDBSpecial) GetPlaceHoldSQL(sql string) string { method GetXaSQL (line 30) | func (*mysqlDBSpecial) GetXaSQL(command string, xid string) string { method GetInsertIgnoreTemplate (line 37) | func (*mysqlDBSpecial) GetInsertIgnoreTemplate(tableAndValues string, ... function init (line 41) | func init() { type postgresDBSpecial (line 45) | type postgresDBSpecial struct method GetXaSQL (line 47) | func (*postgresDBSpecial) GetXaSQL(command string, xid string) string { method GetPlaceHoldSQL (line 58) | func (*postgresDBSpecial) GetPlaceHoldSQL(sql string) string { method GetInsertIgnoreTemplate (line 74) | func (*postgresDBSpecial) GetInsertIgnoreTemplate(tableAndValues strin... function init (line 77) | func init() { function GetDBSpecial (line 82) | func GetDBSpecial(dbType string) DBSpecial { function SetCurrentDBType (line 90) | func SetCurrentDBType(dbType string) { function GetCurrentDBType (line 97) | func GetCurrentDBType() string { FILE: client/dtmcli/dtmimp/db_special_test.go function TestDBSpecial (line 15) | func TestDBSpecial(t *testing.T) { FILE: client/dtmcli/dtmimp/trans_base.go type BranchIDGen (line 22) | type BranchIDGen struct method NewSubBranchID (line 28) | func (g *BranchIDGen) NewSubBranchID() string { method CurrentSubBranchID (line 40) | func (g *BranchIDGen) CurrentSubBranchID() string { type TransOptions (line 45) | type TransOptions struct type TransBase (line 57) | type TransBase struct method WithGlobalTransRequestTimeout (line 88) | func (t *TransBase) WithGlobalTransRequestTimeout(timeout int64) { method WithRetryLimit (line 93) | func (t *TransBase) WithRetryLimit(retryLimit int64) { function NewTransBase (line 77) | func NewTransBase(gid string, transType string, dtm string, branchID str... function TransBaseFromQuery (line 98) | func TransBaseFromQuery(qs url.Values) *TransBase { function TransCallDtmExt (line 103) | func TransCallDtmExt(tb *TransBase, body interface{}, operation string) ... function TransCallDtm (line 120) | func TransCallDtm(tb *TransBase, operation string) error { function TransRegisterBranch (line 126) | func TransRegisterBranch(tb *TransBase, added map[string]string, operati... function TransRequestBranch (line 139) | func TransRequestBranch(t *TransBase, method string, body interface{}, b... function transCallDtmJrpc (line 161) | func transCallDtmJrpc(tb *TransBase, body interface{}, operation string)... FILE: client/dtmcli/dtmimp/trans_xa_base.go function XaHandlePhase2 (line 15) | func XaHandlePhase2(gid string, dbConf DBConf, branchID string, op strin... function XaHandleLocalTrans (line 34) | func XaHandleLocalTrans(xa *TransBase, dbConf DBConf, cb func(*sql.DB) e... function XaHandleGlobalTrans (line 64) | func XaHandleGlobalTrans(xa *TransBase, callDtm func(string) error, call... FILE: client/dtmcli/dtmimp/types.go type DB (line 12) | type DB interface type DBConf (line 18) | type DBConf struct FILE: client/dtmcli/dtmimp/types_test.go function TestTypes (line 15) | func TestTypes(t *testing.T) { FILE: client/dtmcli/dtmimp/utils.go function AsError (line 43) | func AsError(x interface{}) error { function P2E (line 52) | func P2E(perr *error) { function E2P (line 59) | func E2P(err error) { function CatchP (line 66) | func CatchP(f func()) (rerr error) { function PanicIf (line 73) | func PanicIf(cond bool, err error) { function MustAtoi (line 80) | func MustAtoi(s string) int { function OrString (line 89) | func OrString(ss ...string) string { function If (line 99) | func If(condition bool, trueObj interface{}, falseObj interface{}) inter... function MustMarshal (line 107) | func MustMarshal(v interface{}) []byte { function MustMarshalString (line 114) | func MustMarshalString(v interface{}) string { function MustUnmarshal (line 119) | func MustUnmarshal(b []byte, obj interface{}) { function MustUnmarshalString (line 125) | func MustUnmarshalString(s string, obj interface{}) { function MustRemarshal (line 130) | func MustRemarshal(from interface{}, to interface{}) { function GetFuncName (line 138) | func GetFuncName() string { function MayReplaceLocalhost (line 145) | func MayReplaceLocalhost(host string) string { type mapCache (line 156) | type mapCache struct method LoadOrStore (line 161) | func (m *mapCache) LoadOrStore(conf DBConf, factory func(conf DBConf) ... function PooledDB (line 177) | func PooledDB(conf DBConf) (*sql.DB, error) { function StandaloneDB (line 182) | func StandaloneDB(conf DBConf) (*sql.DB, error) { function XaDB (line 189) | func XaDB(conf DBConf) (*sql.DB, error) { function XaClose (line 199) | func XaClose(db *sql.DB) { function DBExec (line 205) | func DBExec(dbType string, db DB, sql string, values ...interface{}) (af... function GetDsn (line 225) | func GetDsn(conf DBConf) string { function getSQLServerConnectionString (line 240) | func getSQLServerConnectionString(conf *DBConf, host *string) string { function RespAsErrorByJSONRPC (line 254) | func RespAsErrorByJSONRPC(resp *resty.Response) error { function DeferDo (line 271) | func DeferDo(rerr *error, success func() error, fail func() error) { function Escape (line 284) | func Escape(input string) string { function EscapeGet (line 293) | func EscapeGet(qs url.Values, key string) string { function InsertBarrier (line 298) | func InsertBarrier(tx DB, transType string, gid string, branchID string,... FILE: client/dtmcli/dtmimp/utils_test.go function TestEP (line 18) | func TestEP(t *testing.T) { function TestTernary (line 39) | func TestTernary(t *testing.T) { function TestMarshal (line 46) | func TestMarshal(t *testing.T) { function TestSome (line 63) | func TestSome(t *testing.T) { FILE: client/dtmcli/dtmimp/vars.go function GetRestyClient2 (line 41) | func GetRestyClient2(timeout time.Duration) *resty.Client { function AddRestyMiddlewares (line 56) | func AddRestyMiddlewares(client *resty.Client) { FILE: client/dtmcli/trans_msg.go type Msg (line 18) | type Msg struct method Add (line 29) | func (s *Msg) Add(action string, postData interface{}) *Msg { method AddTopic (line 36) | func (s *Msg) AddTopic(topic string, postData interface{}) *Msg { method SetDelay (line 41) | func (s *Msg) SetDelay(delay uint64) *Msg { method Prepare (line 47) | func (s *Msg) Prepare(queryPrepared string) error { method Submit (line 53) | func (s *Msg) Submit() error { method DoAndSubmitDB (line 59) | func (s *Msg) DoAndSubmitDB(queryPrepared string, db *sql.DB, busiCall... method DoAndSubmit (line 69) | func (s *Msg) DoAndSubmit(queryPrepared string, busiCall func(bb *Bran... method BuildCustomOptions (line 93) | func (s *Msg) BuildCustomOptions() { function NewMsg (line 24) | func NewMsg(server string, gid string) *Msg { FILE: client/dtmcli/trans_saga.go type Saga (line 16) | type Saga struct method Add (line 34) | func (s *Saga) Add(action string, compensate string, postData interfac... method AddBranchOrder (line 41) | func (s *Saga) AddBranchOrder(branch int, preBranches []int) *Saga { method SetConcurrent (line 47) | func (s *Saga) SetConcurrent() *Saga { method Submit (line 53) | func (s *Saga) Submit() error { method BuildCustomOptions (line 59) | func (s *Saga) BuildCustomOptions() { function NewSaga (line 22) | func NewSaga(server string, gid string) *Saga { function NewSagaWithContext (line 27) | func NewSagaWithContext(ctx context.Context, server string, gid string) ... FILE: client/dtmcli/trans_tcc.go type Tcc (line 18) | type Tcc struct method CallBranch (line 63) | func (t *Tcc) CallBranch(body interface{}, tryURL string, confirmURL s... type TccGlobalFunc (line 23) | type TccGlobalFunc function TccGlobalTransaction (line 29) | func TccGlobalTransaction(dtm string, gid string, tccFunc TccGlobalFunc)... function TccGlobalTransaction2 (line 34) | func TccGlobalTransaction2(dtm string, gid string, custom func(*Tcc), tc... function TccFromQuery (line 54) | func TccFromQuery(qs url.Values) (*Tcc, error) { FILE: client/dtmcli/types.go function SetCurrentDBType (line 26) | func SetCurrentDBType(dbType string) { function GetCurrentDBType (line 31) | func GetCurrentDBType() string { function SetBarrierTableName (line 36) | func SetBarrierTableName(tablename string) { function GetRestyClient (line 41) | func GetRestyClient() *resty.Client { function GetRestyClient2 (line 46) | func GetRestyClient2(timeout time.Duration) *resty.Client { FILE: client/dtmcli/types_test.go function TestTypes (line 17) | func TestTypes(t *testing.T) { function TestXaSqlTimeout (line 28) | func TestXaSqlTimeout(t *testing.T) { FILE: client/dtmcli/utils.go function MustGenGid (line 14) | func MustGenGid(server string) string { function ErrorMessage2Error (line 26) | func ErrorMessage2Error(errMsg string, err error) error { function HTTPResp2DtmError (line 33) | func HTTPResp2DtmError(resp *resty.Response) error { function Result2HttpJSON (line 48) | func Result2HttpJSON(result interface{}) (code int, res interface{}) { function requestBranch (line 68) | func requestBranch(t *dtmimp.TransBase, method string, body interface{},... FILE: client/dtmcli/xa.go type XaGlobalFunc (line 19) | type XaGlobalFunc type XaLocalFunc (line 22) | type XaLocalFunc type Xa (line 25) | type Xa struct method CallBranch (line 80) | func (x *Xa) CallBranch(body interface{}, url string) (*resty.Response... function XaFromQuery (line 31) | func XaFromQuery(qs url.Values) (*Xa, error) { function XaLocalTransaction (line 42) | func XaLocalTransaction(qs url.Values, dbConf DBConf, xaFunc XaLocalFunc... function XaGlobalTransaction (line 63) | func XaGlobalTransaction(server string, gid string, xaFunc XaGlobalFunc)... function XaGlobalTransaction2 (line 68) | func XaGlobalTransaction2(server string, gid string, custom func(*Xa), x... FILE: client/dtmgrpc/barrier.go function BarrierFromGrpc (line 17) | func BarrierFromGrpc(ctx context.Context) (*dtmcli.BranchBarrier, error) { FILE: client/dtmgrpc/dtmgimp/grpc_clients.go type rawCodec (line 22) | type rawCodec struct method Marshal (line 24) | func (cb rawCodec) Marshal(v interface{}) ([]byte, error) { method Unmarshal (line 28) | func (cb rawCodec) Unmarshal(data []byte, v interface{}) error { method Name (line 36) | func (cb rawCodec) Name() string { return "dtm_raw" } function MustGetDtmClient (line 47) | func MustGetDtmClient(grpcServer string) dtmgpb.DtmClient { function GetGrpcConn (line 52) | func GetGrpcConn(grpcServer string, isRaw bool) (conn *grpc.ClientConn, ... function MustGetGrpcConn (line 84) | func MustGetGrpcConn(grpcServer string, isRaw bool) *grpc.ClientConn { function getGrpcServiceConfig (line 91) | func getGrpcServiceConfig() (string, bool) { FILE: client/dtmgrpc/dtmgimp/types.go function GrpcServerLog (line 25) | func GrpcServerLog(ctx context.Context, req interface{}, info *grpc.Unar... function GrpcClientLog (line 42) | func GrpcClientLog(ctx context.Context, method string, req, reply interf... function InvokeBranch (line 58) | func InvokeBranch(t *dtmimp.TransBase, isRaw bool, msg proto.Message, ur... FILE: client/dtmgrpc/dtmgimp/utils.go function MustProtoMarshal (line 21) | func MustProtoMarshal(msg proto.Message) []byte { function MustProtoUnmarshal (line 28) | func MustProtoUnmarshal(data []byte, msg proto.Message) { function GetDtmRequest (line 34) | func GetDtmRequest(s *dtmimp.TransBase) *dtmgpb.DtmRequest { function DtmGrpcCall (line 55) | func DtmGrpcCall(s *dtmimp.TransBase, operation string) error { constant dtmpre (line 60) | dtmpre string = "dtm-" function TransInfo2Ctx (line 63) | func TransInfo2Ctx(ctx context.Context, gid, transType, branchID, op, dt... function Map2Kvs (line 79) | func Map2Kvs(m map[string]string) []string { function LogDtmCtx (line 88) | func LogDtmCtx(ctx context.Context) { function dtmGet (line 95) | func dtmGet(md metadata.MD, key string) string { function mdGet (line 99) | func mdGet(md metadata.MD, key string) string { function TransBaseFromGrpc (line 108) | func TransBaseFromGrpc(ctx context.Context) *dtmimp.TransBase { function GetMetaFromContext (line 116) | func GetMetaFromContext(ctx context.Context, name string) string { function GetDtmMetaFromContext (line 122) | func GetDtmMetaFromContext(ctx context.Context, name string) string { type requestTimeoutKey (line 127) | type requestTimeoutKey struct function RequestTimeoutFromContext (line 130) | func RequestTimeoutFromContext(ctx context.Context) int64 { function RequestTimeoutNewContext (line 139) | func RequestTimeoutNewContext(ctx context.Context, requestTimeout int64)... FILE: client/dtmgrpc/dtmgpb/dtmgimp.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type DtmTransOptions (line 24) | type DtmTransOptions struct method Reset (line 38) | func (x *DtmTransOptions) Reset() { method String (line 47) | func (x *DtmTransOptions) String() string { method ProtoMessage (line 51) | func (*DtmTransOptions) ProtoMessage() {} method ProtoReflect (line 53) | func (x *DtmTransOptions) ProtoReflect() protoreflect.Message { method Descriptor (line 66) | func (*DtmTransOptions) Descriptor() ([]byte, []int) { method GetWaitResult (line 70) | func (x *DtmTransOptions) GetWaitResult() bool { method GetTimeoutToFail (line 77) | func (x *DtmTransOptions) GetTimeoutToFail() int64 { method GetRetryInterval (line 84) | func (x *DtmTransOptions) GetRetryInterval() int64 { method GetBranchHeaders (line 91) | func (x *DtmTransOptions) GetBranchHeaders() map[string]string { method GetRequestTimeout (line 98) | func (x *DtmTransOptions) GetRequestTimeout() int64 { method GetRetryLimit (line 105) | func (x *DtmTransOptions) GetRetryLimit() int64 { type DtmRequest (line 113) | type DtmRequest struct method Reset (line 129) | func (x *DtmRequest) Reset() { method String (line 138) | func (x *DtmRequest) String() string { method ProtoMessage (line 142) | func (*DtmRequest) ProtoMessage() {} method ProtoReflect (line 144) | func (x *DtmRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 157) | func (*DtmRequest) Descriptor() ([]byte, []int) { method GetGid (line 161) | func (x *DtmRequest) GetGid() string { method GetTransType (line 168) | func (x *DtmRequest) GetTransType() string { method GetTransOptions (line 175) | func (x *DtmRequest) GetTransOptions() *DtmTransOptions { method GetCustomedData (line 182) | func (x *DtmRequest) GetCustomedData() string { method GetBinPayloads (line 189) | func (x *DtmRequest) GetBinPayloads() [][]byte { method GetQueryPrepared (line 196) | func (x *DtmRequest) GetQueryPrepared() string { method GetSteps (line 203) | func (x *DtmRequest) GetSteps() string { method GetReqExtra (line 210) | func (x *DtmRequest) GetReqExtra() map[string]string { method GetRollbackReason (line 217) | func (x *DtmRequest) GetRollbackReason() string { type DtmGidReply (line 224) | type DtmGidReply struct method Reset (line 232) | func (x *DtmGidReply) Reset() { method String (line 241) | func (x *DtmGidReply) String() string { method ProtoMessage (line 245) | func (*DtmGidReply) ProtoMessage() {} method ProtoReflect (line 247) | func (x *DtmGidReply) ProtoReflect() protoreflect.Message { method Descriptor (line 260) | func (*DtmGidReply) Descriptor() ([]byte, []int) { method GetGid (line 264) | func (x *DtmGidReply) GetGid() string { type DtmBranchRequest (line 271) | type DtmBranchRequest struct method Reset (line 284) | func (x *DtmBranchRequest) Reset() { method String (line 293) | func (x *DtmBranchRequest) String() string { method ProtoMessage (line 297) | func (*DtmBranchRequest) ProtoMessage() {} method ProtoReflect (line 299) | func (x *DtmBranchRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 312) | func (*DtmBranchRequest) Descriptor() ([]byte, []int) { method GetGid (line 316) | func (x *DtmBranchRequest) GetGid() string { method GetTransType (line 323) | func (x *DtmBranchRequest) GetTransType() string { method GetBranchID (line 330) | func (x *DtmBranchRequest) GetBranchID() string { method GetOp (line 337) | func (x *DtmBranchRequest) GetOp() string { method GetData (line 344) | func (x *DtmBranchRequest) GetData() map[string]string { method GetBusiPayload (line 351) | func (x *DtmBranchRequest) GetBusiPayload() []byte { type DtmProgressesReply (line 358) | type DtmProgressesReply struct method Reset (line 367) | func (x *DtmProgressesReply) Reset() { method String (line 376) | func (x *DtmProgressesReply) String() string { method ProtoMessage (line 380) | func (*DtmProgressesReply) ProtoMessage() {} method ProtoReflect (line 382) | func (x *DtmProgressesReply) ProtoReflect() protoreflect.Message { method Descriptor (line 395) | func (*DtmProgressesReply) Descriptor() ([]byte, []int) { method GetTransaction (line 399) | func (x *DtmProgressesReply) GetTransaction() *DtmTransaction { method GetProgresses (line 406) | func (x *DtmProgressesReply) GetProgresses() []*DtmProgress { type DtmTransaction (line 413) | type DtmTransaction struct method Reset (line 424) | func (x *DtmTransaction) Reset() { method String (line 433) | func (x *DtmTransaction) String() string { method ProtoMessage (line 437) | func (*DtmTransaction) ProtoMessage() {} method ProtoReflect (line 439) | func (x *DtmTransaction) ProtoReflect() protoreflect.Message { method Descriptor (line 452) | func (*DtmTransaction) Descriptor() ([]byte, []int) { method GetGid (line 456) | func (x *DtmTransaction) GetGid() string { method GetStatus (line 463) | func (x *DtmTransaction) GetStatus() string { method GetRollbackReason (line 470) | func (x *DtmTransaction) GetRollbackReason() string { method GetResult (line 477) | func (x *DtmTransaction) GetResult() string { type DtmProgress (line 484) | type DtmProgress struct method Reset (line 495) | func (x *DtmProgress) Reset() { method String (line 504) | func (x *DtmProgress) String() string { method ProtoMessage (line 508) | func (*DtmProgress) ProtoMessage() {} method ProtoReflect (line 510) | func (x *DtmProgress) ProtoReflect() protoreflect.Message { method Descriptor (line 523) | func (*DtmProgress) Descriptor() ([]byte, []int) { method GetStatus (line 527) | func (x *DtmProgress) GetStatus() string { method GetBinData (line 534) | func (x *DtmProgress) GetBinData() []byte { method GetBranchID (line 541) | func (x *DtmProgress) GetBranchID() string { method GetOp (line 548) | func (x *DtmProgress) GetOp() string { type DtmTopicRequest (line 555) | type DtmTopicRequest struct method Reset (line 565) | func (x *DtmTopicRequest) Reset() { method String (line 574) | func (x *DtmTopicRequest) String() string { method ProtoMessage (line 578) | func (*DtmTopicRequest) ProtoMessage() {} method ProtoReflect (line 580) | func (x *DtmTopicRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 593) | func (*DtmTopicRequest) Descriptor() ([]byte, []int) { method GetTopic (line 597) | func (x *DtmTopicRequest) GetTopic() string { method GetURL (line 604) | func (x *DtmTopicRequest) GetURL() string { method GetRemark (line 611) | func (x *DtmTopicRequest) GetRemark() string { function file_dtmgimp_proto_rawDescGZIP (line 764) | func file_dtmgimp_proto_rawDescGZIP() []byte { function init (line 818) | func init() { file_dtmgimp_proto_init() } function file_dtmgimp_proto_init (line 819) | func file_dtmgimp_proto_init() { FILE: client/dtmgrpc/dtmgpb/dtmgimp_grpc.pb.go constant _ (line 20) | _ = grpc.SupportPackageIsVersion7 type DtmClient (line 25) | type DtmClient interface type dtmClient (line 37) | type dtmClient struct method NewGid (line 45) | func (c *dtmClient) NewGid(ctx context.Context, in *emptypb.Empty, opt... method Submit (line 54) | func (c *dtmClient) Submit(ctx context.Context, in *DtmRequest, opts .... method Prepare (line 63) | func (c *dtmClient) Prepare(ctx context.Context, in *DtmRequest, opts ... method Abort (line 72) | func (c *dtmClient) Abort(ctx context.Context, in *DtmRequest, opts ..... method RegisterBranch (line 81) | func (c *dtmClient) RegisterBranch(ctx context.Context, in *DtmBranchR... method PrepareWorkflow (line 90) | func (c *dtmClient) PrepareWorkflow(ctx context.Context, in *DtmReques... method Subscribe (line 99) | func (c *dtmClient) Subscribe(ctx context.Context, in *DtmTopicRequest... method Unsubscribe (line 108) | func (c *dtmClient) Unsubscribe(ctx context.Context, in *DtmTopicReque... method DeleteTopic (line 117) | func (c *dtmClient) DeleteTopic(ctx context.Context, in *DtmTopicReque... function NewDtmClient (line 41) | func NewDtmClient(cc grpc.ClientConnInterface) DtmClient { type DtmServer (line 129) | type DtmServer interface type UnimplementedDtmServer (line 143) | type UnimplementedDtmServer struct method NewGid (line 146) | func (UnimplementedDtmServer) NewGid(context.Context, *emptypb.Empty) ... method Submit (line 149) | func (UnimplementedDtmServer) Submit(context.Context, *DtmRequest) (*e... method Prepare (line 152) | func (UnimplementedDtmServer) Prepare(context.Context, *DtmRequest) (*... method Abort (line 155) | func (UnimplementedDtmServer) Abort(context.Context, *DtmRequest) (*em... method RegisterBranch (line 158) | func (UnimplementedDtmServer) RegisterBranch(context.Context, *DtmBran... method PrepareWorkflow (line 161) | func (UnimplementedDtmServer) PrepareWorkflow(context.Context, *DtmReq... method Subscribe (line 164) | func (UnimplementedDtmServer) Subscribe(context.Context, *DtmTopicRequ... method Unsubscribe (line 167) | func (UnimplementedDtmServer) Unsubscribe(context.Context, *DtmTopicRe... method DeleteTopic (line 170) | func (UnimplementedDtmServer) DeleteTopic(context.Context, *DtmTopicRe... method mustEmbedUnimplementedDtmServer (line 173) | func (UnimplementedDtmServer) mustEmbedUnimplementedDtmServer() {} type UnsafeDtmServer (line 178) | type UnsafeDtmServer interface function RegisterDtmServer (line 182) | func RegisterDtmServer(s grpc.ServiceRegistrar, srv DtmServer) { function _Dtm_NewGid_Handler (line 186) | func _Dtm_NewGid_Handler(srv interface{}, ctx context.Context, dec func(... function _Dtm_Submit_Handler (line 204) | func _Dtm_Submit_Handler(srv interface{}, ctx context.Context, dec func(... function _Dtm_Prepare_Handler (line 222) | func _Dtm_Prepare_Handler(srv interface{}, ctx context.Context, dec func... function _Dtm_Abort_Handler (line 240) | func _Dtm_Abort_Handler(srv interface{}, ctx context.Context, dec func(i... function _Dtm_RegisterBranch_Handler (line 258) | func _Dtm_RegisterBranch_Handler(srv interface{}, ctx context.Context, d... function _Dtm_PrepareWorkflow_Handler (line 276) | func _Dtm_PrepareWorkflow_Handler(srv interface{}, ctx context.Context, ... function _Dtm_Subscribe_Handler (line 294) | func _Dtm_Subscribe_Handler(srv interface{}, ctx context.Context, dec fu... function _Dtm_Unsubscribe_Handler (line 312) | func _Dtm_Unsubscribe_Handler(srv interface{}, ctx context.Context, dec ... function _Dtm_DeleteTopic_Handler (line 330) | func _Dtm_DeleteTopic_Handler(srv interface{}, ctx context.Context, dec ... FILE: client/dtmgrpc/msg.go type MsgGrpc (line 22) | type MsgGrpc struct method Add (line 38) | func (s *MsgGrpc) Add(action string, msg proto.Message) *MsgGrpc { method AddTopic (line 45) | func (s *MsgGrpc) AddTopic(topic string, msg proto.Message) *MsgGrpc { method SetDelay (line 50) | func (s *MsgGrpc) SetDelay(delay uint64) *MsgGrpc { method Prepare (line 56) | func (s *MsgGrpc) Prepare(queryPrepared string) error { method Submit (line 62) | func (s *MsgGrpc) Submit() error { method DoAndSubmitDB (line 68) | func (s *MsgGrpc) DoAndSubmitDB(queryPrepared string, db *sql.DB, busi... method DoAndSubmit (line 78) | func (s *MsgGrpc) DoAndSubmit(queryPrepared string, busiCall func(bb *... function NewMsgGrpc (line 27) | func NewMsgGrpc(server string, gid string, opts ...TransBaseOption) *Msg... FILE: client/dtmgrpc/options.go type TransBaseOption (line 8) | type TransBaseOption function WithBranchHeaders (line 11) | func WithBranchHeaders(headers map[string]string) TransBaseOption { FILE: client/dtmgrpc/options_test.go function TestNewMsgGrpc (line 12) | func TestNewMsgGrpc(t *testing.T) { function TestNewSagaGrpc (line 60) | func TestNewSagaGrpc(t *testing.T) { function TestNewSagaGrpcWithContext (line 108) | func TestNewSagaGrpcWithContext(t *testing.T) { FILE: client/dtmgrpc/saga.go type SagaGrpc (line 18) | type SagaGrpc struct method Add (line 45) | func (s *SagaGrpc) Add(action string, compensate string, payload proto... method AddBranchOrder (line 52) | func (s *SagaGrpc) AddBranchOrder(branch int, preBranches []int) *Saga... method EnableConcurrent (line 58) | func (s *SagaGrpc) EnableConcurrent() *SagaGrpc { method Submit (line 64) | func (s *SagaGrpc) Submit() error { function NewSagaGrpc (line 23) | func NewSagaGrpc(server string, gid string, opts ...TransBaseOption) *Sa... function NewSagaGrpcWithContext (line 34) | func NewSagaGrpcWithContext(ctx context.Context, server string, gid stri... FILE: client/dtmgrpc/tcc.go type TccGrpc (line 21) | type TccGrpc struct method CallBranch (line 65) | func (t *TccGrpc) CallBranch(busiMsg proto.Message, tryURL string, con... type TccGlobalFunc (line 26) | type TccGlobalFunc function TccGlobalTransaction (line 32) | func TccGlobalTransaction(dtm string, gid string, tccFunc TccGlobalFunc)... function TccGlobalTransaction2 (line 37) | func TccGlobalTransaction2(dtm string, gid string, custom func(*TccGrpc)... function TccFromGrpc (line 54) | func TccFromGrpc(ctx context.Context) (*TccGrpc, error) { FILE: client/dtmgrpc/type.go function DtmError2GrpcError (line 24) | func DtmError2GrpcError(res interface{}) error { function GrpcError2DtmError (line 35) | func GrpcError2DtmError(err error) error { function MustGenGid (line 50) | func MustGenGid(grpcServer string) string { function UseDriver (line 58) | func UseDriver(driverName string) error { function AddUnaryInterceptor (line 63) | func AddUnaryInterceptor(interceptor grpc.UnaryClientInterceptor) { FILE: client/dtmgrpc/type_test.go function TestType (line 16) | func TestType(t *testing.T) { FILE: client/dtmgrpc/xa.go type XaGrpcGlobalFunc (line 24) | type XaGrpcGlobalFunc type XaGrpcLocalFunc (line 27) | type XaGrpcLocalFunc type XaGrpc (line 30) | type XaGrpc struct method CallBranch (line 97) | func (x *XaGrpc) CallBranch(msg proto.Message, url string, reply inter... function XaGrpcFromRequest (line 36) | func XaGrpcFromRequest(ctx context.Context) (*XaGrpc, error) { function XaLocalTransaction (line 48) | func XaLocalTransaction(ctx context.Context, dbConf dtmcli.DBConf, xaFun... function XaGlobalTransaction (line 73) | func XaGlobalTransaction(server string, gid string, xaFunc XaGrpcGlobalF... function XaGlobalTransaction2 (line 78) | func XaGlobalTransaction2(server string, gid string, custom func(*XaGrpc... FILE: client/workflow/dummyReadCloser.go function NewRespBodyFromBytes (line 10) | func NewRespBodyFromBytes(body []byte) io.ReadCloser { type dummyReadCloser (line 14) | type dummyReadCloser struct method Read (line 18) | func (d *dummyReadCloser) Read(p []byte) (n int, err error) { method Close (line 22) | func (d *dummyReadCloser) Close() error { FILE: client/workflow/factory.go type workflowFactory (line 10) | type workflowFactory struct method execute (line 23) | func (w *workflowFactory) execute(ctx context.Context, name string, gi... method register (line 35) | func (w *workflowFactory) register(name string, handler WfFunc2, custo... FILE: client/workflow/imp.go type workflowImp (line 16) | type workflowImp struct type workflowPhase2Item (line 29) | type workflowPhase2Item struct method initProgress (line 34) | func (wf *Workflow) initProgress(progresses []*dtmgpb.DtmProgress) { type wfMeta (line 48) | type wfMeta struct method newWorkflow (line 50) | func (w *workflowFactory) newWorkflow(ctx context.Context, name string, ... method initRestyClient (line 81) | func (wf *Workflow) initRestyClient() { method process (line 97) | func (wf *Workflow) process(handler WfFunc2, data []byte) (res []byte, e... method saveResult (line 126) | func (wf *Workflow) saveResult(branchID string, op string, sr *stepResul... method processPhase2 (line 136) | func (wf *Workflow) processPhase2(err error) error { method callPhase2 (line 155) | func (wf *Workflow) callPhase2(branchID string, fn WfPhase2Func) error { method recordedDo (line 166) | func (wf *Workflow) recordedDo(fn func(bb *dtmcli.BranchBarrier) *stepRe... method recordedDoInner (line 178) | func (wf *Workflow) recordedDoInner(fn func(bb *dtmcli.BranchBarrier) *s... method getStepResult (line 203) | func (wf *Workflow) getStepResult() *stepResult { FILE: client/workflow/rpc.go method getProgress (line 16) | func (wf *Workflow) getProgress() (*dtmgpb.DtmProgressesReply, error) { method submit (line 35) | func (wf *Workflow) submit(result []byte, err error) error { method registerBranch (line 61) | func (wf *Workflow) registerBranch(res []byte, branchID string, op strin... FILE: client/workflow/server.go type workflowServer (line 15) | type workflowServer struct method Execute (line 19) | func (s *workflowServer) Execute(ctx context.Context, wd *wfpb.Workflo... FILE: client/workflow/utils.go function wfErrorToStatus (line 18) | func wfErrorToStatus(err error) string { type stepResult (line 27) | type stepResult struct type roundTripper (line 35) | type roundTripper struct method RoundTrip (line 52) | func (r *roundTripper) RoundTrip(req *http.Request) (*http.Response, e... function newJSONResponse (line 40) | func newJSONResponse(status int, result []byte) *http.Response { function newRoundTripper (line 67) | func newRoundTripper(old http.RoundTripper, wf *Workflow) http.RoundTrip... function HTTPResp2DtmError (line 72) | func HTTPResp2DtmError(resp *http.Response) ([]byte, error) { function GrpcError2DtmError (line 87) | func GrpcError2DtmError(err error) error { method stepResultFromLocal (line 97) | func (wf *Workflow) stepResultFromLocal(data []byte, err error) *stepRes... method stepResultToLocal (line 105) | func (wf *Workflow) stepResultToLocal(sr *stepResult) ([]byte, error) { method stepResultFromGrpc (line 109) | func (wf *Workflow) stepResultFromGrpc(reply interface{}, err error) *st... method stepResultToGrpc (line 120) | func (wf *Workflow) stepResultToGrpc(s *stepResult, reply interface{}) e... method stepResultFromHTTP (line 127) | func (wf *Workflow) stepResultFromHTTP(resp *http.Response, err error) *... method stepResultToHTTP (line 136) | func (wf *Workflow) stepResultToHTTP(s *stepResult) (*http.Response, err... FILE: client/workflow/wfpb/wf.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type WorkflowData (line 24) | type WorkflowData struct method Reset (line 32) | func (x *WorkflowData) Reset() { method String (line 41) | func (x *WorkflowData) String() string { method ProtoMessage (line 45) | func (*WorkflowData) ProtoMessage() {} method ProtoReflect (line 47) | func (x *WorkflowData) ProtoReflect() protoreflect.Message { method Descriptor (line 60) | func (*WorkflowData) Descriptor() ([]byte, []int) { method GetData (line 64) | func (x *WorkflowData) GetData() []byte { function file_workflow_wfpb_wf_proto_rawDescGZIP (line 93) | func file_workflow_wfpb_wf_proto_rawDescGZIP() []byte { function init (line 115) | func init() { file_workflow_wfpb_wf_proto_init() } function file_workflow_wfpb_wf_proto_init (line 116) | func file_workflow_wfpb_wf_proto_init() { FILE: client/workflow/wfpb/wf_grpc.pb.go constant _ (line 20) | _ = grpc.SupportPackageIsVersion7 type WorkflowClient (line 25) | type WorkflowClient interface type workflowClient (line 29) | type workflowClient struct method Execute (line 37) | func (c *workflowClient) Execute(ctx context.Context, in *WorkflowData... function NewWorkflowClient (line 33) | func NewWorkflowClient(cc grpc.ClientConnInterface) WorkflowClient { type WorkflowServer (line 49) | type WorkflowServer interface type UnimplementedWorkflowServer (line 55) | type UnimplementedWorkflowServer struct method Execute (line 58) | func (UnimplementedWorkflowServer) Execute(context.Context, *WorkflowD... method mustEmbedUnimplementedWorkflowServer (line 61) | func (UnimplementedWorkflowServer) mustEmbedUnimplementedWorkflowServe... type UnsafeWorkflowServer (line 66) | type UnsafeWorkflowServer interface function RegisterWorkflowServer (line 70) | func RegisterWorkflowServer(s grpc.ServiceRegistrar, srv WorkflowServer) { function _Workflow_Execute_Handler (line 74) | func _Workflow_Execute_Handler(srv interface{}, ctx context.Context, dec... FILE: client/workflow/workflow.go function InitHTTP (line 22) | func InitHTTP(httpDtm string, callback string) { function InitGrpc (line 32) | func InitGrpc(grpcDtm string, clientHost string, grpcServer *grpc.Server) { function SetProtocolForTest (line 40) | func SetProtocolForTest(protocol string) { function Register (line 45) | func Register(name string, handler WfFunc, custom ...func(wf *Workflow))... function Register2 (line 52) | func Register2(name string, handler WfFunc2, custom ...func(wf *Workflow... function ExecuteCtx (line 59) | func ExecuteCtx(ctx context.Context, name string, gid string, data []byt... function Execute (line 65) | func Execute(name string, gid string, data []byte) error { function Execute2 (line 72) | func Execute2(name string, gid string, data []byte) ([]byte, error) { function ExecuteByQS (line 78) | func ExecuteByQS(qs url.Values, body []byte) error { type Options (line 86) | type Options struct type Workflow (line 101) | type Workflow struct method NewRequest (line 125) | func (wf *Workflow) NewRequest() *resty.Request { method NewBranch (line 130) | func (wf *Workflow) NewBranch() *Workflow { method NewBranchCtx (line 141) | func (wf *Workflow) NewBranchCtx() context.Context { method OnRollback (line 148) | func (wf *Workflow) OnRollback(compensate WfPhase2Func) *Workflow { method OnCommit (line 162) | func (wf *Workflow) OnCommit(fn WfPhase2Func) *Workflow { method OnFinish (line 175) | func (wf *Workflow) OnFinish(fn func(bb *dtmcli.BranchBarrier, isRollb... method Do (line 184) | func (wf *Workflow) Do(fn func(bb *dtmcli.BranchBarrier) ([]byte, erro... method DoXa (line 194) | func (wf *Workflow) DoXa(dbConf dtmcli.DBConf, fn func(db *sql.DB) ([]... type wfItem (line 109) | type wfItem struct type WfFunc (line 115) | type WfFunc type WfFunc2 (line 118) | type WfFunc2 type WfPhase2Func (line 122) | type WfPhase2Func function Interceptor (line 236) | func Interceptor(ctx context.Context, method string, req, reply interfac... FILE: client/workflow/workflow_test.go function TestAbnormal (line 11) | func TestAbnormal(t *testing.T) { FILE: dtmsvr/api.go function svcSubmit (line 22) | func svcSubmit(t *TransGlobal) interface{} { function svcPrepare (line 45) | func svcPrepare(t *TransGlobal) interface{} { function svcPrepareWorkflow (line 58) | func svcPrepareWorkflow(t *TransGlobal) (*storage.TransGlobalStore, []Tr... function svcAbort (line 68) | func svcAbort(t *TransGlobal) interface{} { function svcForceStop (line 82) | func svcForceStop(t *TransGlobal) interface{} { function svcResetNextCronTime (line 91) | func svcResetNextCronTime(t *TransGlobal) error { function svcRegisterBranch (line 96) | func svcRegisterBranch(transType string, branch *TransBranch, data map[s... FILE: dtmsvr/api_grpc.go type dtmServer (line 19) | type dtmServer struct method NewGid (line 23) | func (s *dtmServer) NewGid(ctx context.Context, in *emptypb.Empty) (*p... method Submit (line 27) | func (s *dtmServer) Submit(ctx context.Context, in *pb.DtmRequest) (*e... method Prepare (line 32) | func (s *dtmServer) Prepare(ctx context.Context, in *pb.DtmRequest) (*... method Abort (line 37) | func (s *dtmServer) Abort(ctx context.Context, in *pb.DtmRequest) (*em... method RegisterBranch (line 42) | func (s *dtmServer) RegisterBranch(ctx context.Context, in *pb.DtmBran... method PrepareWorkflow (line 52) | func (s *dtmServer) PrepareWorkflow(ctx context.Context, in *pb.DtmReq... method Subscribe (line 73) | func (s *dtmServer) Subscribe(ctx context.Context, in *pb.DtmTopicRequ... method Unsubscribe (line 77) | func (s *dtmServer) Unsubscribe(ctx context.Context, in *pb.DtmTopicRe... method DeleteTopic (line 81) | func (s *dtmServer) DeleteTopic(ctx context.Context, in *pb.DtmTopicRe... FILE: dtmsvr/api_http.go function addRoute (line 22) | func addRoute(engine *gin.Engine) { function newGid (line 53) | func newGid(c *gin.Context) interface{} { function prepare (line 57) | func prepare(c *gin.Context) interface{} { function submit (line 61) | func submit(c *gin.Context) interface{} { function abort (line 65) | func abort(c *gin.Context) interface{} { function forceStop (line 69) | func forceStop(c *gin.Context) interface{} { function resetNextCronTime (line 73) | func resetNextCronTime(c *gin.Context) interface{} { function registerBranch (line 77) | func registerBranch(c *gin.Context) interface{} { function query (line 90) | func query(c *gin.Context) interface{} { function prepareWorkflow (line 100) | func prepareWorkflow(c *gin.Context) interface{} { function all (line 108) | func all(c *gin.Context) interface{} { function stringTotime (line 131) | func stringTotime(timeStr string) time.Time { function resetCronTime (line 139) | func resetCronTime(c *gin.Context) interface{} { function scanKV (line 151) | func scanKV(c *gin.Context) interface{} { function queryKV (line 159) | func queryKV(c *gin.Context) interface{} { function subscribe (line 167) | func subscribe(c *gin.Context) interface{} { function unsubscribe (line 175) | func unsubscribe(c *gin.Context) interface{} { function deleteTopic (line 182) | func deleteTopic(c *gin.Context) interface{} { FILE: dtmsvr/api_json_rpc.go type jrpcReq (line 15) | type jrpcReq struct function addJrpcRouter (line 22) | func addJrpcRouter(engine *gin.Engine) { function TransFromJrpcParams (line 103) | func TransFromJrpcParams(params interface{}) *TransGlobal { function jrpcNewGid (line 110) | func jrpcNewGid(interface{}) interface{} { function jrpcPrepare (line 114) | func jrpcPrepare(params interface{}) interface{} { function jrpcSubmit (line 118) | func jrpcSubmit(params interface{}) interface{} { function jrpcAbort (line 122) | func jrpcAbort(params interface{}) interface{} { function jrpcRegisterBranch (line 126) | func jrpcRegisterBranch(params interface{}) interface{} { FILE: dtmsvr/config/config.go constant DtmMetricsPort (line 15) | DtmMetricsPort = 8889 constant Mysql (line 17) | Mysql = "mysql" constant Redis (line 19) | Redis = "redis" constant BoltDb (line 21) | BoltDb = "boltdb" constant Postgres (line 23) | Postgres = "postgres" constant SQLServer (line 25) | SQLServer = "sqlserver" type MicroService (line 29) | type MicroService struct type HTTPMicroService (line 36) | type HTTPMicroService struct type Log (line 46) | type Log struct type Store (line 53) | type Store struct method IsDB (line 70) | func (s *Store) IsDB() bool { method GetDBConf (line 75) | func (s *Store) GetDBConf() dtmcli.DBConf { type Type (line 88) | type Type struct function MustLoadConfig (line 115) | func MustLoadConfig(confFile string) { FILE: dtmsvr/config/config_test.go function TestLoadFromEnv (line 11) | func TestLoadFromEnv(t *testing.T) { function TestLoadConfig (line 20) | func TestLoadConfig(t *testing.T) { function TestCheckConfig (line 26) | func TestCheckConfig(t *testing.T) { function TestConfig (line 71) | func TestConfig(t *testing.T) { function testConfigStringField (line 78) | func testConfigStringField(fd *string, val string, t *testing.T) { function testConfigIntField (line 86) | func testConfigIntField(fd *int64, val int64, t *testing.T) { FILE: dtmsvr/config/config_utils.go function loadFromEnv (line 14) | func loadFromEnv(prefix string, conf interface{}) { function loadFromEnvInner (line 21) | func loadFromEnvInner(prefix string, conf reflect.Value, defaultValue st... function toUnderscoreUpper (line 50) | func toUnderscoreUpper(key string) string { function checkConfig (line 61) | func checkConfig(conf *Type) error { FILE: dtmsvr/cron.go function CronTransOnce (line 28) | func CronTransOnce() (gid string) { function CronExpiredTrans (line 43) | func CronExpiredTrans(num int) { function CronUpdateTopicsMap (line 53) | func CronUpdateTopicsMap() { function CronUpdateTopicsMapOnce (line 61) | func CronUpdateTopicsMapOnce() { function lockOneTrans (line 66) | func lockOneTrans(expireIn time.Duration) *TransGlobal { function handlePanic (line 75) | func handlePanic(perr *error) { function sleepCronTime (line 84) | func sleepCronTime() { FILE: dtmsvr/entry/main.go function usage (line 19) | func usage() { function Main (line 33) | func Main(version *string) (*gin.Engine, *config.Type) { FILE: dtmsvr/metrics.go function setServerInfoMetrics (line 58) | func setServerInfoMetrics() { function httpMetrics (line 62) | func httpMetrics(app *gin.Engine) *gin.Engine { function grpcMetrics (line 80) | func grpcMetrics(ctx context.Context, req interface{}, info *grpc.UnaryS... function transactionMetrics (line 95) | func transactionMetrics(global *TransGlobal, status bool) { function branchMetrics (line 104) | func branchMetrics(global *TransGlobal, branch *TransBranch, status bool) { function extractFromPath (line 112) | func extractFromPath(val string) string { FILE: dtmsvr/storage/boltdb/boltdb.go type Store (line 23) | type Store struct method Ping (line 278) | func (s *Store) Ping() error { method PopulateData (line 283) | func (s *Store) PopulateData(skipDrop bool) { method FindTransGlobalStore (line 306) | func (s *Store) FindTransGlobalStore(gid string) (trans *storage.Trans... method ScanTransGlobalStores (line 316) | func (s *Store) ScanTransGlobalStores(position *string, limit int64, c... method FindBranches (line 349) | func (s *Store) FindBranches(gid string) []storage.TransBranchStore { method UpdateBranches (line 360) | func (s *Store) UpdateBranches(branches []storage.TransBranchStore, up... method LockGlobalSaveBranches (line 365) | func (s *Store) LockGlobalSaveBranches(gid string, status string, bran... method MaySaveNewTrans (line 380) | func (s *Store) MaySaveNewTrans(global *storage.TransGlobalStore, bran... method ChangeGlobalStatus (line 394) | func (s *Store) ChangeGlobalStatus(global *storage.TransGlobalStore, n... method TouchCronTime (line 412) | func (s *Store) TouchCronTime(global *storage.TransGlobalStore, nextCr... method LockOneGlobalTrans (line 431) | func (s *Store) LockOneGlobalTrans(expireIn time.Duration) *storage.Tr... method ResetCronTime (line 460) | func (s *Store) ResetCronTime(after time.Duration, limit int64) (succe... method ResetTransGlobalCronTime (line 488) | func (s *Store) ResetTransGlobalCronTime(g *storage.TransGlobalStore) ... method ScanKV (line 505) | func (s *Store) ScanKV(cat string, position *string, limit int64) []st... method FindKV (line 535) | func (s *Store) FindKV(cat, key string) []storage.KVStore { method UpdateKV (line 565) | func (s *Store) UpdateKV(kv *storage.KVStore) error { method DeleteKV (line 582) | func (s *Store) DeleteKV(cat, key string) error { method CreateKV (line 594) | func (s *Store) CreateKV(cat, key, value string) error { function NewStore (line 32) | func NewStore(dataExpire int64, retryInterval int64) *Store { function initializeBuckets (line 58) | func initializeBuckets(db *bolt.DB) error { function cleanupExpiredData (line 74) | func cleanupExpiredData(expire time.Duration, db *bolt.DB) error { function cleanupGlobalWithGids (line 108) | func cleanupGlobalWithGids(t *bolt.Tx, gids map[string]struct{}) { function cleanupBranchWithGids (line 121) | func cleanupBranchWithGids(t *bolt.Tx, gids map[string]struct{}) { function cleanupIndexWithGids (line 150) | func cleanupIndexWithGids(t *bolt.Tx, gids map[string]struct{}) { function tGetGlobal (line 187) | func tGetGlobal(t *bolt.Tx, gid string) *storage.TransGlobalStore { function tGetBranches (line 197) | func tGetBranches(t *bolt.Tx, gid string) []storage.TransBranchStore { function tPutGlobal (line 210) | func tPutGlobal(t *bolt.Tx, global *storage.TransGlobalStore) { function tPutBranches (line 216) | func tPutBranches(t *bolt.Tx, branches []storage.TransBranchStore, start... function tPutBranches2 (line 221) | func tPutBranches2(t *bolt.Tx, branches []storage.TransBranchStore, star... function tDelIndex (line 241) | func tDelIndex(t *bolt.Tx, unix int64, gid string) { function tPutIndex (line 247) | func tPutIndex(t *bolt.Tx, unix int64, gid string) { function tGetKV (line 253) | func tGetKV(t *bolt.Tx, cat, key string) *storage.KVStore { function tPutKV (line 264) | func tPutKV(t *bolt.Tx, kv *storage.KVStore) { function tDelKV (line 271) | func tDelKV(t *bolt.Tx, cat, key string) { FILE: dtmsvr/storage/boltdb/boltdb_test.go function TestInitializeBuckets (line 21) | func TestInitializeBuckets(t *testing.T) { function TestCleanupExpiredData (line 44) | func TestCleanupExpiredData(t *testing.T) { function TestCleanupGlobalWithGids (line 116) | func TestCleanupGlobalWithGids(t *testing.T) { function TestCleanupBranchWithGids (line 178) | func TestCleanupBranchWithGids(t *testing.T) { function TestCleanupIndexWithGids (line 259) | func TestCleanupIndexWithGids(t *testing.T) { FILE: dtmsvr/storage/redis/redis.go type Store (line 33) | type Store struct method Ping (line 37) | func (s *Store) Ping() error { method PopulateData (line 43) | func (s *Store) PopulateData(skipDrop bool) { method FindTransGlobalStore (line 52) | func (s *Store) FindTransGlobalStore(gid string) *storage.TransGlobalS... method ScanTransGlobalStores (line 65) | func (s *Store) ScanTransGlobalStores(position *string, limit int64, c... method FindBranches (line 114) | func (s *Store) FindBranches(gid string) []storage.TransBranchStore { method UpdateBranches (line 126) | func (s *Store) UpdateBranches(branches []storage.TransBranchStore, up... method MaySaveNewTrans (line 184) | func (s *Store) MaySaveNewTrans(global *storage.TransGlobalStore, bran... method LockGlobalSaveBranches (line 212) | func (s *Store) LockGlobalSaveBranches(gid string, status string, bran... method ChangeGlobalStatus (line 248) | func (s *Store) ChangeGlobalStatus(global *storage.TransGlobalStore, n... method LockOneGlobalTrans (line 277) | func (s *Store) LockOneGlobalTrans(expireIn time.Duration) *storage.Tr... method ResetCronTime (line 309) | func (s *Store) ResetCronTime(after time.Duration, limit int64) (succe... method ResetTransGlobalCronTime (line 338) | func (s *Store) ResetTransGlobalCronTime(global *storage.TransGlobalSt... method TouchCronTime (line 348) | func (s *Store) TouchCronTime(global *storage.TransGlobalStore, nextCr... method ScanKV (line 370) | func (s *Store) ScanKV(cat string, position *string, limit int64) []st... method FindKV (line 414) | func (s *Store) FindKV(cat, key string) []storage.KVStore { method UpdateKV (line 447) | func (s *Store) UpdateKV(kv *storage.KVStore) error { method DeleteKV (line 474) | func (s *Store) DeleteKV(cat, key string) error { method CreateKV (line 483) | func (s *Store) CreateKV(cat, key, value string) error { type argList (line 130) | type argList struct method AppendGid (line 140) | func (a *argList) AppendGid(gid string) *argList { method AppendRaw (line 148) | func (a *argList) AppendRaw(v interface{}) *argList { method AppendObject (line 153) | func (a *argList) AppendObject(v interface{}) *argList { method AppendBranches (line 157) | func (a *argList) AppendBranches(branches []storage.TransBranchStore) ... function newArgList (line 135) | func newArgList() *argList { function handleRedisResult (line 164) | func handleRedisResult(ret interface{}, err error) (string, error) { function callLua (line 177) | func callLua(a *argList, lua string) (string, error) { function redisGet (line 514) | func redisGet() redis.Cmdable { FILE: dtmsvr/storage/registry/factory.go type SingletonFactory (line 10) | type SingletonFactory struct method GetStorage (line 19) | func (f *SingletonFactory) GetStorage() storage.Store { FILE: dtmsvr/storage/registry/registry.go type StorageFactory (line 18) | type StorageFactory interface function GetStore (line 46) | func GetStore() storage.Store { function WaitStoreUp (line 51) | func WaitStoreUp() { FILE: dtmsvr/storage/sql/sql.go type Store (line 29) | type Store struct method Ping (line 33) | func (s *Store) Ping() error { method PopulateData (line 41) | func (s *Store) PopulateData(skipDrop bool) { method FindTransGlobalStore (line 47) | func (s *Store) FindTransGlobalStore(gid string) *storage.TransGlobalS... method ScanTransGlobalStores (line 58) | func (s *Store) ScanTransGlobalStores(position *string, limit int64, c... method FindBranches (line 89) | func (s *Store) FindBranches(gid string) []storage.TransBranchStore { method UpdateBranches (line 96) | func (s *Store) UpdateBranches(branches []storage.TransBranchStore, up... method LockGlobalSaveBranches (line 105) | func (s *Store) LockGlobalSaveBranches(gid string, status string, bran... method MaySaveNewTrans (line 128) | func (s *Store) MaySaveNewTrans(global *storage.TransGlobalStore, bran... method ChangeGlobalStatus (line 147) | func (s *Store) ChangeGlobalStatus(global *storage.TransGlobalStore, n... method TouchCronTime (line 157) | func (s *Store) TouchCronTime(global *storage.TransGlobalStore, nextCr... method LockOneGlobalTrans (line 166) | func (s *Store) LockOneGlobalTrans(expireIn time.Duration) *storage.Tr... method ResetCronTime (line 203) | func (s *Store) ResetCronTime(after time.Duration, limit int64) (succe... method ResetTransGlobalCronTime (line 220) | func (s *Store) ResetTransGlobalCronTime(global *storage.TransGlobalSt... method ScanKV (line 231) | func (s *Store) ScanKV(cat string, position *string, limit int64) []st... method FindKV (line 247) | func (s *Store) FindKV(cat, key string) []storage.KVStore { method UpdateKV (line 261) | func (s *Store) UpdateKV(kv *storage.KVStore) error { method DeleteKV (line 275) | func (s *Store) DeleteKV(cat, key string) error { method CreateKV (line 284) | func (s *Store) CreateKV(cat, key, value string) error { function SetDBConn (line 306) | func SetDBConn(db *gorm.DB) { function dbGet (line 313) | func dbGet() *dtmutil.DB { function wrapError (line 317) | func wrapError(err error) error { function getTimeStr (line 325) | func getTimeStr(afterSecond int64) string { FILE: dtmsvr/storage/store.go type Store (line 21) | type Store interface type TransGlobalScanCondition (line 43) | type TransGlobalScanCondition struct FILE: dtmsvr/storage/trans.go type TransGlobalExt (line 18) | type TransGlobalExt struct type TransGlobalStore (line 23) | type TransGlobalStore struct method TableName (line 48) | func (g *TransGlobalStore) TableName() string { method String (line 52) | func (g *TransGlobalStore) String() string { method IsFinished (line 57) | func (g *TransGlobalStore) IsFinished() bool { type TransBranchStore (line 62) | type TransBranchStore struct method TableName (line 76) | func (b *TransBranchStore) TableName() string { method String (line 80) | func (b *TransBranchStore) String() string { type KVStore (line 85) | type KVStore struct method TableName (line 94) | func (k *KVStore) TableName() string { FILE: dtmsvr/svr.go function StartSvr (line 31) | func StartSvr() *gin.Engine { function PopulateDB (line 87) | func PopulateDB(skipDrop bool) { function updateBranchAsync (line 95) | func updateBranchAsync() { function grpcRecover (line 137) | func grpcRecover(ctx context.Context, req interface{}, info *grpc.UnaryS... FILE: dtmsvr/topics.go constant topicsCat (line 11) | topicsCat = "topics" type Topic (line 17) | type Topic struct type Subscriber (line 24) | type Subscriber struct function topic2urls (line 29) | func topic2urls(topic string) []string { function Subscribe (line 38) | func Subscribe(topic, url, remark string) error { function Unsubscribe (line 68) | func Unsubscribe(topic, url string) error { function updateTopicsMap (line 100) | func updateTopicsMap() { FILE: dtmsvr/trans_class.go type TransGlobal (line 16) | type TransGlobal struct method setupPayloads (line 24) | func (t *TransGlobal) setupPayloads() { method getProcessor (line 56) | func (t *TransGlobal) getProcessor() transProcessor { type transProcessor (line 43) | type transProcessor interface type processorCreator (line 48) | type processorCreator function registorProcessorCreator (line 52) | func registorProcessorCreator(transType string, creator processorCreator) { type cronType (line 60) | type cronType constant cronBackoff (line 63) | cronBackoff cronType = iota constant cronReset (line 64) | cronReset constant cronKeep (line 65) | cronKeep function TransFromContext (line 69) | func TransFromContext(c *gin.Context) *TransGlobal { function TransFromDtmRequest (line 83) | func TransFromDtmRequest(ctx context.Context, c *dtmgpb.DtmRequest) *Tra... FILE: dtmsvr/trans_process.go method Process (line 22) | func (t *TransGlobal) Process(branches []TransBranch) error { method process (line 28) | func (t *TransGlobal) process(branches []TransBranch) error { method processInner (line 60) | func (t *TransGlobal) processInner(ctx context.Context, branches []Trans... method saveNew (line 78) | func (t *TransGlobal) saveNew() ([]TransBranch, error) { FILE: dtmsvr/trans_status.go method touchCronTime (line 27) | func (t *TransGlobal) touchCronTime(ctype cronType, delay uint64) { type changeStatusParams (line 42) | type changeStatusParams struct type changeStatusOption (line 47) | type changeStatusOption function withRollbackReason (line 49) | func withRollbackReason(rollbackReason string) changeStatusOption { function withResult (line 55) | func withResult(result string) changeStatusOption { method changeStatus (line 61) | func (t *TransGlobal) changeStatus(status string, opts ...changeStatusOp... method resetNextCronTime (line 89) | func (t *TransGlobal) resetNextCronTime() error { method changeBranchStatus (line 98) | func (t *TransGlobal) changeBranchStatus(b *TransBranch, status string, ... method isTimeout (line 112) | func (t *TransGlobal) isTimeout() bool { method needDelay (line 123) | func (t *TransGlobal) needDelay(delay uint64) bool { method needProcess (line 127) | func (t *TransGlobal) needProcess() bool { method getURLResult (line 131) | func (t *TransGlobal) getURLResult(ctx context.Context, uri string, bran... method getHTTPResult (line 144) | func (t *TransGlobal) getHTTPResult(uri string, branchID, op string, bra... method determineHTTPRequestMethod (line 163) | func (t *TransGlobal) determineHTTPRequestMethod(branchPayload []byte) s... method getJSONRPCResult (line 167) | func (t *TransGlobal) getJSONRPCResult(uri string, branchID, op string, ... method getGrpcResult (line 196) | func (t *TransGlobal) getGrpcResult(ctx context.Context, uri string, bra... method getBranchResult (line 216) | func (t *TransGlobal) getBranchResult(ctx context.Context, branch *Trans... method execBranch (line 229) | func (t *TransGlobal) execBranch(ctx context.Context, branch *TransBranc... method getNextCronInterval (line 262) | func (t *TransGlobal) getNextCronInterval(ctype cronType) int64 { FILE: dtmsvr/trans_type_msg.go type transMsgProcessor (line 20) | type transMsgProcessor struct method GenBranches (line 28) | func (t *transMsgProcessor) GenBranches() []TransBranch { method ProcessOnce (line 72) | func (t *transMsgProcessor) ProcessOnce(ctx context.Context, branches ... function init (line 24) | func init() { type cMsgCustom (line 51) | type cMsgCustom struct method mayQueryPrepared (line 55) | func (t *TransGlobal) mayQueryPrepared(ctx context.Context) { FILE: dtmsvr/trans_type_saga.go type transSagaProcessor (line 14) | type transSagaProcessor struct method GenBranches (line 24) | func (t *transSagaProcessor) GenBranches() []TransBranch { method ProcessOnce (line 56) | func (t *transSagaProcessor) ProcessOnce(ctx context.Context, branches... function init (line 18) | func init() { type cSagaCustom (line 42) | type cSagaCustom struct type branchResult (line 48) | type branchResult struct FILE: dtmsvr/trans_type_tcc.go type transTccProcessor (line 12) | type transTccProcessor struct method GenBranches (line 20) | func (t *transTccProcessor) GenBranches() []TransBranch { method ProcessOnce (line 24) | func (t *transTccProcessor) ProcessOnce(ctx context.Context, branches ... function init (line 16) | func init() { FILE: dtmsvr/trans_type_workflow.go type transWorkflowProcessor (line 12) | type transWorkflowProcessor struct method GenBranches (line 20) | func (t *transWorkflowProcessor) GenBranches() []TransBranch { method ProcessOnce (line 29) | func (t *transWorkflowProcessor) ProcessOnce(ctx context.Context, bran... function init (line 16) | func init() { type cWorkflowCustom (line 24) | type cWorkflowCustom struct FILE: dtmsvr/trans_type_xa.go type transXaProcessor (line 11) | type transXaProcessor struct method GenBranches (line 19) | func (t *transXaProcessor) GenBranches() []TransBranch { method ProcessOnce (line 23) | func (t *transXaProcessor) ProcessOnce(ctx context.Context, branches [... function init (line 15) | func init() { FILE: dtmsvr/utils.go type branchStatus (line 21) | type branchStatus struct function GetStore (line 34) | func GetStore() storage.Store { function GenGid (line 42) | func GenGid() string { function GetTransGlobal (line 47) | func GetTransGlobal(gid string) *TransGlobal { type asyncCtx (line 55) | type asyncCtx struct method Deadline (line 59) | func (a *asyncCtx) Deadline() (deadline time.Time, ok bool) { method Done (line 63) | func (a *asyncCtx) Done() <-chan struct{} { function NewAsyncContext (line 69) | func NewAsyncContext(ctx context.Context) context.Context { FILE: dtmsvr/utils_test.go function TestUtils (line 18) | func TestUtils(t *testing.T) { function TestSetNextCron (line 23) | func TestSetNextCron(t *testing.T) { function TestNewAsyncContext (line 36) | func TestNewAsyncContext(t *testing.T) { function TestAsyncContext (line 48) | func TestAsyncContext(t *testing.T) { type testContextType (line 67) | type testContextType function TestAsyncContextRecursive (line 69) | func TestAsyncContextRecursive(t *testing.T) { function TestCopyContextWithMetadata (line 94) | func TestCopyContextWithMetadata(t *testing.T) { function BenchmarkCopyContext (line 110) | func BenchmarkCopyContext(b *testing.B) { FILE: dtmutil/consts.go constant DefaultHTTPServer (line 11) | DefaultHTTPServer = "http://localhost:36789/api/dtmsvr" constant DefaultJrpcServer (line 13) | DefaultJrpcServer = "http://localhost:36789/api/json-rpc" constant DefaultGrpcServer (line 15) | DefaultGrpcServer = "localhost:36790" FILE: dtmutil/db.go type ModelBase (line 23) | type ModelBase struct function getGormDialetor (line 29) | func getGormDialetor(driver string, dsn string) gorm.Dialector { type DB (line 43) | type DB struct method Must (line 48) | func (m *DB) Must() *DB { method ToSQLDB (line 54) | func (m *DB) ToSQLDB() *sql.DB { type tracePlugin (line 60) | type tracePlugin struct method Name (line 62) | func (op *tracePlugin) Name() string { method Initialize (line 66) | func (op *tracePlugin) Initialize(db *gorm.DB) (err error) { function DbGet (line 105) | func DbGet(conf dtmcli.DBConf, ops ...func(*gorm.DB)) *DB { FILE: dtmutil/utils.go function GetGinApp (line 29) | func GetGinApp() *gin.Engine { function WrapHandler (line 51) | func WrapHandler(fn func(*gin.Context) interface{}) gin.HandlerFunc { function WrapHandler2 (line 69) | func WrapHandler2(fn func(*gin.Context) interface{}) gin.HandlerFunc { function MustGetwd (line 127) | func MustGetwd() string { function GetSQLDir (line 134) | func GetSQLDir() string { function RecoverPanic (line 143) | func RecoverPanic(err *error) { function GetNextTime (line 153) | func GetNextTime(second int64) *time.Time { function RunSQLScript (line 159) | func RunSQLScript(conf dtmcli.DBConf, script string, skipDrop bool) { FILE: dtmutil/utils_test.go function TestGin (line 22) | func TestGin(t *testing.T) { function TestFuncs (line 41) | func TestFuncs(t *testing.T) { function TestRecoverPanic (line 50) | func TestRecoverPanic(t *testing.T) { FILE: helper/bench/main.go function hintAndExit (line 23) | func hintAndExit() { function main (line 30) | func main() { FILE: helper/bench/svr/http.go constant benchAPI (line 31) | benchAPI = "/api/busi_bench" constant total (line 32) | total = 200000 function pdbGet (line 37) | func pdbGet() *sql.DB { function txGet (line 43) | func txGet() *sql.Tx { function reloadData (line 50) | func reloadData() { function PrepareBenchDB (line 74) | func PrepareBenchDB() { function StartSvr (line 98) | func StartSvr() { function qsAdjustBalance (line 107) | func qsAdjustBalance(uid int, amount int, c *gin.Context) error { // nol... function benchAddRoute (line 140) | func benchAddRoute(app *gin.Engine) { FILE: main.go function main (line 36) | func main() { function getSub (line 52) | func getSub(f1 fs.FS, subs ...string) fs.FS { function addAdmin (line 60) | func addAdmin(app *gin.Engine, conf *config.Type) { function proxyAdmin (line 101) | func proxyAdmin(conf *config.Type) func(c *gin.Context) { function bytesTryReplaceIndex (line 129) | func bytesTryReplaceIndex(source []byte, conf *config.Type) []byte { type transport (line 135) | type transport struct method RoundTrip (line 140) | func (t *transport) RoundTrip(req *http.Request) (resp *http.Response,... FILE: qs/main.go function main (line 13) | func main() { FILE: sqls/busi.mysql.sql type dtm_busi (line 5) | create table if not exists dtm_busi.user_account( FILE: sqls/busi.postgres.sql type dtm_busi (line 7) | create table if not exists dtm_busi.user_account( type create_idx (line 16) | create index if not exists create_idx on dtm_busi.user_account(create_time) type update_idx (line 18) | create index if not exists update_idx on dtm_busi.user_account(update_time) FILE: sqls/dtmcli.barrier.mysql.sql type dtm_barrier (line 5) | create table if not exists dtm_barrier.barrier( FILE: sqls/dtmcli.barrier.postgres.sql type dtm_barrier (line 4) | create table if not exists dtm_barrier.barrier( FILE: sqls/dtmsvr.storage.mysql.sql type dtm (line 5) | CREATE TABLE if not EXISTS dtm.trans_global ( type dtm (line 30) | CREATE TABLE IF NOT EXISTS dtm.trans_branch_op ( type dtm (line 47) | CREATE TABLE IF NOT EXISTS dtm.kv ( FILE: sqls/dtmsvr.storage.postgres.sql type trans_global (line 4) | CREATE TABLE if not EXISTS trans_global ( type owner (line 26) | create index if not EXISTS owner on trans_global(owner) type status_next_cron_time (line 27) | create index if not EXISTS status_next_cron_time on trans_global (status... type trans_branch_op (line 31) | CREATE TABLE IF NOT EXISTS trans_branch_op ( type kv (line 50) | CREATE TABLE IF NOT EXISTS kv ( FILE: sqls/dtmsvr.storage.sqlserver.sql type dtm (line 7) | CREATE TABLE dtm.dbo.trans_global ( type dtm (line 29) | CREATE INDEX[owner] ON [dtm].[dbo].[trans_global]([owner] ASC) type dtm (line 33) | CREATE TABLE dtm.dbo.trans_branch_op ( type dtm (line 50) | CREATE TABLE dtm.dbo.kv ( FILE: sqls/dtmsvr.storage.tdsql.sql type dtm (line 5) | CREATE TABLE if not EXISTS dtm.trans_global ( type dtm (line 30) | CREATE TABLE IF NOT EXISTS dtm.trans_branch_op ( type dtm (line 47) | CREATE TABLE IF NOT EXISTS dtm.kv ( FILE: test/api_test.go function TestAPIVersion (line 24) | func TestAPIVersion(t *testing.T) { function TestAPIQuery (line 30) | func TestAPIQuery(t *testing.T) { function TestAPIAll (line 55) | func TestAPIAll(t *testing.T) { function TestAPIScanKV (line 137) | func TestAPIScanKV(t *testing.T) { function TestAPIQueryKV (line 176) | func TestAPIQueryKV(t *testing.T) { function TestDtmMetrics (line 198) | func TestDtmMetrics(t *testing.T) { function TestAPIResetCronTime (line 204) | func TestAPIResetCronTime(t *testing.T) { function TestAPIForceStoppedNormal (line 224) | func TestAPIForceStoppedNormal(t *testing.T) { function TestAPIForceStoppedAbnormal (line 239) | func TestAPIForceStoppedAbnormal(t *testing.T) { function TestAPIResetNextCronTime (line 253) | func TestAPIResetNextCronTime(t *testing.T) { FILE: test/base_test.go type BarrierModel (line 23) | type BarrierModel struct method TableName (line 29) | func (BarrierModel) TableName() string { return dtmimp.BarrierTableName } function TestBaseSqlDB (line 31) | func TestBaseSqlDB(t *testing.T) { function TestBaseHttp (line 63) | func TestBaseHttp(t *testing.T) { FILE: test/busi/barrier.go function init (line 20) | func init() { function TccBarrierTransOutCancel (line 189) | func TccBarrierTransOutCancel(c *gin.Context) interface{} { method TransInBSaga (line 205) | func (s *busiServer) TransInBSaga(ctx context.Context, in *ReqGrpc) (*em... method TransOutBSaga (line 212) | func (s *busiServer) TransOutBSaga(ctx context.Context, in *ReqGrpc) (*e... method TransInRevertBSaga (line 219) | func (s *busiServer) TransInRevertBSaga(ctx context.Context, in *ReqGrpc... method TransOutRevertBSaga (line 226) | func (s *busiServer) TransOutRevertBSaga(ctx context.Context, in *ReqGrp... method TransInRedis (line 233) | func (s *busiServer) TransInRedis(ctx context.Context, in *ReqGrpc) (*em... method TransOutRedis (line 238) | func (s *busiServer) TransOutRedis(ctx context.Context, in *ReqGrpc) (*e... method TransInRevertRedis (line 243) | func (s *busiServer) TransInRevertRedis(ctx context.Context, in *ReqGrpc... method TransOutRevertRedis (line 248) | func (s *busiServer) TransOutRevertRedis(ctx context.Context, in *ReqGrp... method QueryPreparedB (line 253) | func (s *busiServer) QueryPreparedB(ctx context.Context, in *ReqGrpc) (*... method QueryPreparedRedis (line 259) | func (s *busiServer) QueryPreparedRedis(ctx context.Context, in *ReqGrpc... FILE: test/busi/base_grpc.go function retry (line 41) | func retry(ctx context.Context, method string, req, reply interface{}, c... function GrpcStartup (line 53) | func GrpcStartup() *grpc.Server { function RunGrpc (line 69) | func RunGrpc(server *grpc.Server) { type busiServer (line 79) | type busiServer struct method QueryPrepared (line 83) | func (s *busiServer) QueryPrepared(ctx context.Context, in *ReqGrpc) (... method TransIn (line 90) | func (s *busiServer) TransIn(ctx context.Context, in *ReqGrpc) (*empty... method TransOut (line 94) | func (s *busiServer) TransOut(ctx context.Context, in *ReqGrpc) (*empt... method TransInRevert (line 98) | func (s *busiServer) TransInRevert(ctx context.Context, in *ReqGrpc) (... method TransOutRevert (line 102) | func (s *busiServer) TransOutRevert(ctx context.Context, in *ReqGrpc) ... method TransInConfirm (line 106) | func (s *busiServer) TransInConfirm(ctx context.Context, in *ReqGrpc) ... method TransOutConfirm (line 110) | func (s *busiServer) TransOutConfirm(ctx context.Context, in *ReqGrpc)... method TransInTcc (line 114) | func (s *busiServer) TransInTcc(ctx context.Context, in *ReqGrpc) (*em... method TransOutTcc (line 118) | func (s *busiServer) TransOutTcc(ctx context.Context, in *ReqGrpc) (*e... method TransInXa (line 122) | func (s *busiServer) TransInXa(ctx context.Context, in *ReqGrpc) (*emp... method TransOutXa (line 128) | func (s *busiServer) TransOutXa(ctx context.Context, in *ReqGrpc) (*em... method TransInTccNested (line 134) | func (s *busiServer) TransInTccNested(ctx context.Context, in *ReqGrpc... method TransOutHeaderYes (line 143) | func (s *busiServer) TransOutHeaderYes(ctx context.Context, in *ReqGrp... method TransOutHeaderNo (line 151) | func (s *busiServer) TransOutHeaderNo(ctx context.Context, in *ReqGrpc... FILE: test/busi/base_http.go constant BusiAPI (line 29) | BusiAPI = "/api/busi" constant BusiPort (line 31) | BusiPort = 8081 constant BusiGrpcPort (line 33) | BusiGrpcPort = 58081 type setupFunc (line 36) | type setupFunc type SleepCancelHandler (line 44) | type SleepCancelHandler function SetSleepCancelHandler (line 49) | func SetSleepCancelHandler(handler SleepCancelHandler) { function BaseAppStartup (line 57) | func BaseAppStartup() *gin.Engine { function RunHTTP (line 80) | func RunHTTP(app *gin.Engine) { function BaseAddRoute (line 87) | func BaseAddRoute(app *gin.Engine) { FILE: test/busi/base_jrpc.go function addJrpcRoute (line 15) | func addJrpcRoute(app *gin.Engine) { FILE: test/busi/base_types.go type UserAccount (line 32) | type UserAccount struct method TableName (line 39) | func (*UserAccount) TableName() string { function GetBalanceByUID (line 44) | func GetBalanceByUID(uid int, store string) int { type ReqHTTP (line 64) | type ReqHTTP struct method String (line 71) | func (t *ReqHTTP) String() string { function GenReqHTTP (line 76) | func GenReqHTTP(amount int, outFailed bool, inFailed bool) *ReqHTTP { function GenReqGrpc (line 85) | func GenReqGrpc(amount int, outFailed bool, inFailed bool) *ReqGrpc { function reqFrom (line 93) | func reqFrom(c *gin.Context) *ReqHTTP { function infoFromContext (line 105) | func infoFromContext(c *gin.Context) *dtmcli.BranchBarrier { type AutoEmptyString (line 116) | type AutoEmptyString struct method SetOnce (line 121) | func (s *AutoEmptyString) SetOnce(v string) { method Fetch (line 126) | func (s *AutoEmptyString) Fetch() string { type mainSwitchType (line 135) | type mainSwitchType struct function GetRedisAccountKey (line 152) | func GetRedisAccountKey(uid int) string { FILE: test/busi/busi.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type ReqGrpc (line 25) | type ReqGrpc struct method Reset (line 35) | func (x *ReqGrpc) Reset() { method String (line 44) | func (x *ReqGrpc) String() string { method ProtoMessage (line 48) | func (*ReqGrpc) ProtoMessage() {} method ProtoReflect (line 50) | func (x *ReqGrpc) ProtoReflect() protoreflect.Message { method Descriptor (line 63) | func (*ReqGrpc) Descriptor() ([]byte, []int) { method GetAmount (line 67) | func (x *ReqGrpc) GetAmount() int64 { method GetTransOutResult (line 74) | func (x *ReqGrpc) GetTransOutResult() string { method GetTransInResult (line 81) | func (x *ReqGrpc) GetTransInResult() string { type BusiReply (line 88) | type BusiReply struct method Reset (line 96) | func (x *BusiReply) Reset() { method String (line 105) | func (x *BusiReply) String() string { method ProtoMessage (line 109) | func (*BusiReply) ProtoMessage() {} method ProtoReflect (line 111) | func (x *BusiReply) ProtoReflect() protoreflect.Message { method Descriptor (line 124) | func (*BusiReply) Descriptor() ([]byte, []int) { method GetMessage (line 128) | func (x *BusiReply) GetMessage() string { function file_test_busi_busi_proto_rawDescGZIP (line 252) | func file_test_busi_busi_proto_rawDescGZIP() []byte { function init (line 323) | func init() { file_test_busi_busi_proto_init() } function file_test_busi_busi_proto_init (line 324) | func file_test_busi_busi_proto_init() { FILE: test/busi/busi_grpc.pb.go constant _ (line 20) | _ = grpc.SupportPackageIsVersion7 type BusiClient (line 25) | type BusiClient interface type busiClient (line 53) | type busiClient struct method TransIn (line 61) | func (c *busiClient) TransIn(ctx context.Context, in *ReqGrpc, opts ..... method TransOut (line 70) | func (c *busiClient) TransOut(ctx context.Context, in *ReqGrpc, opts .... method TransInRevert (line 79) | func (c *busiClient) TransInRevert(ctx context.Context, in *ReqGrpc, o... method TransOutRevert (line 88) | func (c *busiClient) TransOutRevert(ctx context.Context, in *ReqGrpc, ... method TransInConfirm (line 97) | func (c *busiClient) TransInConfirm(ctx context.Context, in *ReqGrpc, ... method TransOutConfirm (line 106) | func (c *busiClient) TransOutConfirm(ctx context.Context, in *ReqGrpc,... method XaNotify (line 115) | func (c *busiClient) XaNotify(ctx context.Context, in *emptypb.Empty, ... method TransInXa (line 124) | func (c *busiClient) TransInXa(ctx context.Context, in *ReqGrpc, opts ... method TransOutXa (line 133) | func (c *busiClient) TransOutXa(ctx context.Context, in *ReqGrpc, opts... method TransInTcc (line 142) | func (c *busiClient) TransInTcc(ctx context.Context, in *ReqGrpc, opts... method TransOutTcc (line 151) | func (c *busiClient) TransOutTcc(ctx context.Context, in *ReqGrpc, opt... method TransInTccNested (line 160) | func (c *busiClient) TransInTccNested(ctx context.Context, in *ReqGrpc... method TransInBSaga (line 169) | func (c *busiClient) TransInBSaga(ctx context.Context, in *ReqGrpc, op... method TransOutBSaga (line 178) | func (c *busiClient) TransOutBSaga(ctx context.Context, in *ReqGrpc, o... method TransInRevertBSaga (line 187) | func (c *busiClient) TransInRevertBSaga(ctx context.Context, in *ReqGr... method TransOutRevertBSaga (line 196) | func (c *busiClient) TransOutRevertBSaga(ctx context.Context, in *ReqG... method TransOutHeaderYes (line 205) | func (c *busiClient) TransOutHeaderYes(ctx context.Context, in *ReqGrp... method TransOutHeaderNo (line 214) | func (c *busiClient) TransOutHeaderNo(ctx context.Context, in *ReqGrpc... method TransInRedis (line 223) | func (c *busiClient) TransInRedis(ctx context.Context, in *ReqGrpc, op... method TransOutRedis (line 232) | func (c *busiClient) TransOutRedis(ctx context.Context, in *ReqGrpc, o... method TransInRevertRedis (line 241) | func (c *busiClient) TransInRevertRedis(ctx context.Context, in *ReqGr... method TransOutRevertRedis (line 250) | func (c *busiClient) TransOutRevertRedis(ctx context.Context, in *ReqG... method QueryPrepared (line 259) | func (c *busiClient) QueryPrepared(ctx context.Context, in *ReqGrpc, o... method QueryPreparedB (line 268) | func (c *busiClient) QueryPreparedB(ctx context.Context, in *ReqGrpc, ... method QueryPreparedRedis (line 277) | func (c *busiClient) QueryPreparedRedis(ctx context.Context, in *ReqGr... function NewBusiClient (line 57) | func NewBusiClient(cc grpc.ClientConnInterface) BusiClient { type BusiServer (line 289) | type BusiServer interface type UnimplementedBusiServer (line 319) | type UnimplementedBusiServer struct method TransIn (line 322) | func (UnimplementedBusiServer) TransIn(context.Context, *ReqGrpc) (*em... method TransOut (line 325) | func (UnimplementedBusiServer) TransOut(context.Context, *ReqGrpc) (*e... method TransInRevert (line 328) | func (UnimplementedBusiServer) TransInRevert(context.Context, *ReqGrpc... method TransOutRevert (line 331) | func (UnimplementedBusiServer) TransOutRevert(context.Context, *ReqGrp... method TransInConfirm (line 334) | func (UnimplementedBusiServer) TransInConfirm(context.Context, *ReqGrp... method TransOutConfirm (line 337) | func (UnimplementedBusiServer) TransOutConfirm(context.Context, *ReqGr... method XaNotify (line 340) | func (UnimplementedBusiServer) XaNotify(context.Context, *emptypb.Empt... method TransInXa (line 343) | func (UnimplementedBusiServer) TransInXa(context.Context, *ReqGrpc) (*... method TransOutXa (line 346) | func (UnimplementedBusiServer) TransOutXa(context.Context, *ReqGrpc) (... method TransInTcc (line 349) | func (UnimplementedBusiServer) TransInTcc(context.Context, *ReqGrpc) (... method TransOutTcc (line 352) | func (UnimplementedBusiServer) TransOutTcc(context.Context, *ReqGrpc) ... method TransInTccNested (line 355) | func (UnimplementedBusiServer) TransInTccNested(context.Context, *ReqG... method TransInBSaga (line 358) | func (UnimplementedBusiServer) TransInBSaga(context.Context, *ReqGrpc)... method TransOutBSaga (line 361) | func (UnimplementedBusiServer) TransOutBSaga(context.Context, *ReqGrpc... method TransInRevertBSaga (line 364) | func (UnimplementedBusiServer) TransInRevertBSaga(context.Context, *Re... method TransOutRevertBSaga (line 367) | func (UnimplementedBusiServer) TransOutRevertBSaga(context.Context, *R... method TransOutHeaderYes (line 370) | func (UnimplementedBusiServer) TransOutHeaderYes(context.Context, *Req... method TransOutHeaderNo (line 373) | func (UnimplementedBusiServer) TransOutHeaderNo(context.Context, *ReqG... method TransInRedis (line 376) | func (UnimplementedBusiServer) TransInRedis(context.Context, *ReqGrpc)... method TransOutRedis (line 379) | func (UnimplementedBusiServer) TransOutRedis(context.Context, *ReqGrpc... method TransInRevertRedis (line 382) | func (UnimplementedBusiServer) TransInRevertRedis(context.Context, *Re... method TransOutRevertRedis (line 385) | func (UnimplementedBusiServer) TransOutRevertRedis(context.Context, *R... method QueryPrepared (line 388) | func (UnimplementedBusiServer) QueryPrepared(context.Context, *ReqGrpc... method QueryPreparedB (line 391) | func (UnimplementedBusiServer) QueryPreparedB(context.Context, *ReqGrp... method QueryPreparedRedis (line 394) | func (UnimplementedBusiServer) QueryPreparedRedis(context.Context, *Re... method mustEmbedUnimplementedBusiServer (line 397) | func (UnimplementedBusiServer) mustEmbedUnimplementedBusiServer() {} type UnsafeBusiServer (line 402) | type UnsafeBusiServer interface function RegisterBusiServer (line 406) | func RegisterBusiServer(s grpc.ServiceRegistrar, srv BusiServer) { function _Busi_TransIn_Handler (line 410) | func _Busi_TransIn_Handler(srv interface{}, ctx context.Context, dec fun... function _Busi_TransOut_Handler (line 428) | func _Busi_TransOut_Handler(srv interface{}, ctx context.Context, dec fu... function _Busi_TransInRevert_Handler (line 446) | func _Busi_TransInRevert_Handler(srv interface{}, ctx context.Context, d... function _Busi_TransOutRevert_Handler (line 464) | func _Busi_TransOutRevert_Handler(srv interface{}, ctx context.Context, ... function _Busi_TransInConfirm_Handler (line 482) | func _Busi_TransInConfirm_Handler(srv interface{}, ctx context.Context, ... function _Busi_TransOutConfirm_Handler (line 500) | func _Busi_TransOutConfirm_Handler(srv interface{}, ctx context.Context,... function _Busi_XaNotify_Handler (line 518) | func _Busi_XaNotify_Handler(srv interface{}, ctx context.Context, dec fu... function _Busi_TransInXa_Handler (line 536) | func _Busi_TransInXa_Handler(srv interface{}, ctx context.Context, dec f... function _Busi_TransOutXa_Handler (line 554) | func _Busi_TransOutXa_Handler(srv interface{}, ctx context.Context, dec ... function _Busi_TransInTcc_Handler (line 572) | func _Busi_TransInTcc_Handler(srv interface{}, ctx context.Context, dec ... function _Busi_TransOutTcc_Handler (line 590) | func _Busi_TransOutTcc_Handler(srv interface{}, ctx context.Context, dec... function _Busi_TransInTccNested_Handler (line 608) | func _Busi_TransInTccNested_Handler(srv interface{}, ctx context.Context... function _Busi_TransInBSaga_Handler (line 626) | func _Busi_TransInBSaga_Handler(srv interface{}, ctx context.Context, de... function _Busi_TransOutBSaga_Handler (line 644) | func _Busi_TransOutBSaga_Handler(srv interface{}, ctx context.Context, d... function _Busi_TransInRevertBSaga_Handler (line 662) | func _Busi_TransInRevertBSaga_Handler(srv interface{}, ctx context.Conte... function _Busi_TransOutRevertBSaga_Handler (line 680) | func _Busi_TransOutRevertBSaga_Handler(srv interface{}, ctx context.Cont... function _Busi_TransOutHeaderYes_Handler (line 698) | func _Busi_TransOutHeaderYes_Handler(srv interface{}, ctx context.Contex... function _Busi_TransOutHeaderNo_Handler (line 716) | func _Busi_TransOutHeaderNo_Handler(srv interface{}, ctx context.Context... function _Busi_TransInRedis_Handler (line 734) | func _Busi_TransInRedis_Handler(srv interface{}, ctx context.Context, de... function _Busi_TransOutRedis_Handler (line 752) | func _Busi_TransOutRedis_Handler(srv interface{}, ctx context.Context, d... function _Busi_TransInRevertRedis_Handler (line 770) | func _Busi_TransInRevertRedis_Handler(srv interface{}, ctx context.Conte... function _Busi_TransOutRevertRedis_Handler (line 788) | func _Busi_TransOutRevertRedis_Handler(srv interface{}, ctx context.Cont... function _Busi_QueryPrepared_Handler (line 806) | func _Busi_QueryPrepared_Handler(srv interface{}, ctx context.Context, d... function _Busi_QueryPreparedB_Handler (line 824) | func _Busi_QueryPreparedB_Handler(srv interface{}, ctx context.Context, ... function _Busi_QueryPreparedRedis_Handler (line 842) | func _Busi_QueryPreparedRedis_Handler(srv interface{}, ctx context.Conte... FILE: test/busi/data.go function PopulateDB (line 21) | func PopulateDB(skipDrop bool) { constant TransOutUID (line 36) | TransOutUID = 1 constant TransInUID (line 39) | TransInUID = 2 constant Redis (line 42) | Redis = "redis" constant Mongo (line 45) | Mongo = "mongo" function handleGrpcBusiness (line 47) | func handleGrpcBusiness(in *ReqGrpc, result1 string, result2 string, bus... function handleGeneralBusiness (line 60) | func handleGeneralBusiness(c *gin.Context, result1 string, result2 strin... function handleGeneralBusinessCompatible (line 74) | func handleGeneralBusinessCompatible(c *gin.Context, result1 string, res... function sagaGrpcAdjustBalance (line 84) | func sagaGrpcAdjustBalance(db dtmcli.DB, uid int, amount int64, result s... function SagaAdjustBalance (line 93) | func SagaAdjustBalance(db dtmcli.DB, uid int, amount int, result string)... function SagaMongoAdjustBalance (line 102) | func SagaMongoAdjustBalance(ctx context.Context, mc *mongo.Client, uid i... function tccAdjustTrading (line 126) | func tccAdjustTrading(db dtmcli.DB, uid int, amount int) error { function tccAdjustBalance (line 136) | func tccAdjustBalance(db dtmcli.DB, uid int, amount int) error { FILE: test/busi/quick_start.go constant qsBusiAPI (line 14) | qsBusiAPI = "/api/busi_start" constant qsBusiPort (line 15) | qsBusiPort = 8082 function QsMain (line 20) | func QsMain() { function QsStartSvr (line 27) | func QsStartSvr() { function qsAddRoute (line 37) | func qsAddRoute(app *gin.Engine) { constant dtmServer (line 57) | dtmServer = "http://localhost:36789/api/dtmsvr" function QsFireRequest (line 60) | func QsFireRequest() string { FILE: test/busi/startup.go function Startup (line 9) | func Startup() (*gin.Engine, *grpc.Server) { FILE: test/busi/utils.go function dbGet (line 28) | func dbGet() *dtmutil.DB { function pdbGet (line 32) | func pdbGet() *sql.DB { function txGet (line 38) | func txGet() *sql.Tx { function ResetXaData (line 46) | func ResetXaData() { function MustBarrierFromGin (line 63) | func MustBarrierFromGin(c *gin.Context) *dtmcli.BranchBarrier { function MustBarrierFromGrpc (line 70) | func MustBarrierFromGrpc(ctx context.Context) *dtmcli.BranchBarrier { function string2DtmError (line 77) | func string2DtmError(str string) error { function SetGrpcHeaderForHeadersYes (line 87) | func SetGrpcHeaderForHeadersYes(ctx context.Context, method string, req,... function SetHTTPHeaderForHeadersYes (line 97) | func SetHTTPHeaderForHeadersYes(c *resty.Client, r *resty.Request) error { function oldWrapHandler (line 106) | func oldWrapHandler(fn func(*gin.Context) (interface{}, error)) gin.Hand... function RedisGet (line 139) | func RedisGet() redis.Cmdable { function MongoGet (line 157) | func MongoGet() *mongo.Client { function SetRedisBothAccount (line 171) | func SetRedisBothAccount(amountA int, ammountB int) { function SetMongoBothAccount (line 180) | func SetMongoBothAccount(amountA int, amountB int) { function SetupMongoBarrierAndBusi (line 191) | func SetupMongoBarrierAndBusi() { FILE: test/common_test.go function TestGeneralDB (line 15) | func TestGeneralDB(t *testing.T) { function testSQL (line 22) | func testSQL(t *testing.T) { function testDbAlone (line 34) | func testDbAlone(t *testing.T) { function TestMustGenGid (line 46) | func TestMustGenGid(t *testing.T) { function MaySkipMongo (line 51) | func MaySkipMongo(t *testing.T) { FILE: test/dtmsvr_test.go function getTransStatus (line 29) | func getTransStatus(gid string) string { function getTrans (line 33) | func getTrans(gid string) *dtmsvr.TransGlobal { function getBranchesStatus (line 37) | func getBranchesStatus(gid string) []string { function isSQLStore (line 46) | func isSQLStore() bool { function TestUpdateBranchAsync (line 49) | func TestUpdateBranchAsync(t *testing.T) { function TestGrpcPanic (line 87) | func TestGrpcPanic(t *testing.T) { FILE: test/main_test.go function TestMain (line 26) | func TestMain(m *testing.M) { FILE: test/msg_barrier_mongo_test.go function TestMsgMongoDoSucceed (line 14) | func TestMsgMongoDoSucceed(t *testing.T) { function TestMsgMongoDoBusiFailed (line 33) | func TestMsgMongoDoBusiFailed(t *testing.T) { function TestMsgMongoDoBusiLater (line 47) | func TestMsgMongoDoBusiLater(t *testing.T) { function TestMsgMongoDoCommitFailed (line 73) | func TestMsgMongoDoCommitFailed(t *testing.T) { function TestMsgMongoDoCommitAfterFailed (line 91) | func TestMsgMongoDoCommitAfterFailed(t *testing.T) { FILE: test/msg_barrier_redis_test.go function TestMsgRedisDo (line 13) | func TestMsgRedisDo(t *testing.T) { function TestMsgRedisDoBusiFailed (line 29) | func TestMsgRedisDoBusiFailed(t *testing.T) { function TestMsgRedisDoBusiLater (line 42) | func TestMsgRedisDoBusiLater(t *testing.T) { function TestMsgRedisDoPrepareFailed (line 65) | func TestMsgRedisDoPrepareFailed(t *testing.T) { function TestMsgRedisDoCommitFailed (line 78) | func TestMsgRedisDoCommitFailed(t *testing.T) { function TestMsgRedisDoCommitAfterFailed (line 91) | func TestMsgRedisDoCommitAfterFailed(t *testing.T) { FILE: test/msg_barrier_test.go function TestMsgDoAndSubmit (line 17) | func TestMsgDoAndSubmit(t *testing.T) { function TestMsgDoAndSubmitBusiFailed (line 33) | func TestMsgDoAndSubmitBusiFailed(t *testing.T) { function TestMsgDoAndSubmitBusiLater (line 46) | func TestMsgDoAndSubmitBusiLater(t *testing.T) { function TestMsgDoAndSubmitPrepareFailed (line 69) | func TestMsgDoAndSubmitPrepareFailed(t *testing.T) { function TestMsgDoAndSubmitCommitFailed (line 82) | func TestMsgDoAndSubmitCommitFailed(t *testing.T) { function TestMsgDoAndSubmitCommitAfterFailed (line 105) | func TestMsgDoAndSubmitCommitAfterFailed(t *testing.T) { FILE: test/msg_delay_test.go function genMsgDelay (line 14) | func genMsgDelay(gid string) *dtmcli.Msg { function TestMsgDelayNormal (line 23) | func TestMsgDelayNormal(t *testing.T) { FILE: test/msg_grpc_barrier_redis_test.go function TestMsgGrpcRedisDo (line 14) | func TestMsgGrpcRedisDo(t *testing.T) { function TestMsgGrpcRedisDoBusiFailed (line 30) | func TestMsgGrpcRedisDoBusiFailed(t *testing.T) { function TestMsgGrpcRedisDoPrepareFailed (line 43) | func TestMsgGrpcRedisDoPrepareFailed(t *testing.T) { function TestMsgGrpcRedisDoCommitFailed (line 56) | func TestMsgGrpcRedisDoCommitFailed(t *testing.T) { function TestMsgGrpcRedisDoCommitAfterFailed (line 69) | func TestMsgGrpcRedisDoCommitAfterFailed(t *testing.T) { FILE: test/msg_grpc_barrier_test.go function TestMsgGrpcPrepareAndSubmit (line 17) | func TestMsgGrpcPrepareAndSubmit(t *testing.T) { function TestMsgGrpcPrepareAndSubmitCommitAfterFailed (line 33) | func TestMsgGrpcPrepareAndSubmitCommitAfterFailed(t *testing.T) { function TestMsgGrpcPrepareAndSubmitCommitFailed (line 57) | func TestMsgGrpcPrepareAndSubmitCommitFailed(t *testing.T) { FILE: test/msg_grpc_test.go function TestMsgGrpcNormal (line 21) | func TestMsgGrpcNormal(t *testing.T) { function TestMsgGrpcTimeoutSuccess (line 30) | func TestMsgGrpcTimeoutSuccess(t *testing.T) { function TestMsgGrpcTimeoutFailed (line 47) | func TestMsgGrpcTimeoutFailed(t *testing.T) { function genGrpcMsg (line 61) | func genGrpcMsg(gid string) *dtmgrpc.MsgGrpc { function subscribeGrpcTopic (line 69) | func subscribeGrpcTopic() { FILE: test/msg_jrpc_test.go function TestMsgJrpcNormal (line 21) | func TestMsgJrpcNormal(t *testing.T) { function TestMsgJrpcResults (line 29) | func TestMsgJrpcResults(t *testing.T) { function TestMsgJrpcDoAndSubmit (line 48) | func TestMsgJrpcDoAndSubmit(t *testing.T) { function TestMsgJrpcDoAndSubmitBusiFailed (line 65) | func TestMsgJrpcDoAndSubmitBusiFailed(t *testing.T) { function TestMsgJrpcRepeated (line 79) | func TestMsgJrpcRepeated(t *testing.T) { function TestMsgJprcAbnormal (line 89) | func TestMsgJprcAbnormal(t *testing.T) { function TestMsgJprcAbnormal2 (line 128) | func TestMsgJprcAbnormal2(t *testing.T) { function genJrpcMsg (line 135) | func genJrpcMsg(gid string) *dtmcli.Msg { FILE: test/msg_options_test.go function TestMsgOptionsTimeout (line 18) | func TestMsgOptionsTimeout(t *testing.T) { function TestMsgOptionsTimeoutCustom (line 28) | func TestMsgOptionsTimeoutCustom(t *testing.T) { function TestMsgOptionsTimeoutFailed (line 41) | func TestMsgOptionsTimeoutFailed(t *testing.T) { function TestMsgConcurrent (line 55) | func TestMsgConcurrent(t *testing.T) { FILE: test/msg_test.go function TestMsgNormal (line 20) | func TestMsgNormal(t *testing.T) { function TestMsgTimeoutSuccess (line 29) | func TestMsgTimeoutSuccess(t *testing.T) { function TestMsgTimeoutFailed (line 45) | func TestMsgTimeoutFailed(t *testing.T) { function TestMsgAbnormal (line 59) | func TestMsgAbnormal(t *testing.T) { function TestMsgTopicNotFoundFailed (line 71) | func TestMsgTopicNotFoundFailed(t *testing.T) { function genMsg (line 79) | func genMsg(gid string) *dtmcli.Msg { function subscribeTopic (line 88) | func subscribeTopic() { FILE: test/msg_webhook_test.go function TestMsgWebhook (line 11) | func TestMsgWebhook(t *testing.T) { function TestMsgWebhookError (line 27) | func TestMsgWebhookError(t *testing.T) { FILE: test/saga_barrier_mongo_test.go function TestSagaBarrierMongoNormal (line 18) | func TestSagaBarrierMongoNormal(t *testing.T) { function TestSagaBarrierMongoRollback (line 30) | func TestSagaBarrierMongoRollback(t *testing.T) { function genSagaBarrierMongo (line 42) | func genSagaBarrierMongo(gid string, transInFailed bool) *dtmcli.Saga { FILE: test/saga_barrier_redis_test.go function TestSagaBarrierRedisNormal (line 18) | func TestSagaBarrierRedisNormal(t *testing.T) { function TestSagaBarrierRedisRollback (line 30) | func TestSagaBarrierRedisRollback(t *testing.T) { function genSagaBarrierRedis (line 42) | func genSagaBarrierRedis(gid string) *dtmcli.Saga { FILE: test/saga_barrier_test.go function TestSagaBarrierNormal (line 18) | func TestSagaBarrierNormal(t *testing.T) { function TestSagaBarrierRollback (line 27) | func TestSagaBarrierRollback(t *testing.T) { function genSagaBarrier (line 36) | func genSagaBarrier(gid string, outFailed, inFailed bool) *dtmcli.Saga { function TestSagaBarrier2Normal (line 43) | func TestSagaBarrier2Normal(t *testing.T) { FILE: test/saga_compatible_test.go function TestSagaCompatibleNormal (line 20) | func TestSagaCompatibleNormal(t *testing.T) { // compatible with old htt... FILE: test/saga_concurrent_test.go function genSagaCon (line 18) | func genSagaCon(gid string, outFailed bool, inFailed bool) *dtmcli.Saga { function TestSagaConNormal (line 22) | func TestSagaConNormal(t *testing.T) { function TestSagaConRollbackNormal (line 30) | func TestSagaConRollbackNormal(t *testing.T) { function TestSagaConRollbackOrder (line 44) | func TestSagaConRollbackOrder(t *testing.T) { function TestSagaConRollbackOrder2 (line 54) | func TestSagaConRollbackOrder2(t *testing.T) { function TestSagaConCommittedOngoing (line 63) | func TestSagaConCommittedOngoing(t *testing.T) { FILE: test/saga_grpc_barrier_test.go function TestSagaGrpcBarrierNormal (line 19) | func TestSagaGrpcBarrierNormal(t *testing.T) { function TestSagaGrpcBarrierRollback (line 28) | func TestSagaGrpcBarrierRollback(t *testing.T) { function genSagaGrpcBarrier (line 37) | func genSagaGrpcBarrier(gid string, outFailed bool, inFailed bool) *dtmg... FILE: test/saga_grpc_test.go function TestSagaGrpcNormal (line 21) | func TestSagaGrpcNormal(t *testing.T) { function TestSagaGrpcRollback (line 29) | func TestSagaGrpcRollback(t *testing.T) { function TestSagaGrpcCurrent (line 43) | func TestSagaGrpcCurrent(t *testing.T) { function TestSagaGrpcCurrentOrder (line 52) | func TestSagaGrpcCurrentOrder(t *testing.T) { function TestSagaGrpcCommittedOngoing (line 62) | func TestSagaGrpcCommittedOngoing(t *testing.T) { function TestSagaGrpcNormalWait (line 75) | func TestSagaGrpcNormalWait(t *testing.T) { function TestSagaGrpcEmptyUrl (line 85) | func TestSagaGrpcEmptyUrl(t *testing.T) { function genSagaGrpc (line 97) | func genSagaGrpc(gid string, outFailed bool, inFailed bool) *dtmgrpc.Sag... function TestSagaGrpcWithGlobalTransRequestTimeout (line 105) | func TestSagaGrpcWithGlobalTransRequestTimeout(t *testing.T) { function TestSagaGrpcOptionsRollbackWait (line 116) | func TestSagaGrpcOptionsRollbackWait(t *testing.T) { function TestSagaGrpcHeaders (line 130) | func TestSagaGrpcHeaders(t *testing.T) { function TestSagaGrpcCronHeaders (line 143) | func TestSagaGrpcCronHeaders(t *testing.T) { FILE: test/saga_options_test.go function TestSagaOptionsRetryOngoing (line 19) | func TestSagaOptionsRetryOngoing(t *testing.T) { function TestSagaOptionsRetryError (line 32) | func TestSagaOptionsRetryError(t *testing.T) { function TestSagaOptionsTimeout (line 48) | func TestSagaOptionsTimeout(t *testing.T) { function TestSagaGlobalTransWithRequestTimeout (line 63) | func TestSagaGlobalTransWithRequestTimeout(t *testing.T) { function TestSagaOptionsNormalWait (line 74) | func TestSagaOptionsNormalWait(t *testing.T) { function TestSagaOptionsCommittedOngoingWait (line 84) | func TestSagaOptionsCommittedOngoingWait(t *testing.T) { function TestSagaOptionsRollbackWait (line 99) | func TestSagaOptionsRollbackWait(t *testing.T) { function TestSagaHeaders (line 112) | func TestSagaHeaders(t *testing.T) { function TestSagaHeadersYes1 (line 125) | func TestSagaHeadersYes1(t *testing.T) { function TestSagaGlobalTransWithRetryLimitYes (line 141) | func TestSagaGlobalTransWithRetryLimitYes(t *testing.T) { function TestSagaGlobalTransWithRetryLimitNo (line 156) | func TestSagaGlobalTransWithRetryLimitNo(t *testing.T) { FILE: test/saga_test.go function TestSagaNormal (line 19) | func TestSagaNormal(t *testing.T) { function TestSagaRollback (line 28) | func TestSagaRollback(t *testing.T) { function TestSagaOngoingSucceed (line 39) | func TestSagaOngoingSucceed(t *testing.T) { function TestSagaFailed (line 53) | func TestSagaFailed(t *testing.T) { function TestSagaAbnormal (line 66) | func TestSagaAbnormal(t *testing.T) { function TestSagaEmptyUrl (line 79) | func TestSagaEmptyUrl(t *testing.T) { function genSaga (line 90) | func genSaga(gid string, outFailed bool, inFailed bool) *dtmcli.Saga { function genSaga1 (line 98) | func genSaga1(gid string, outFailed bool, inFailed bool) *dtmcli.Saga { FILE: test/store_test.go function initTransGlobal (line 15) | func initTransGlobal(gid string) (*storage.TransGlobalStore, storage.Sto... function initTransGlobalByNextCronTime (line 20) | func initTransGlobalByNextCronTime(gid string, next time.Time) (*storage... function TestStoreSave (line 31) | func TestStoreSave(t *testing.T) { function TestStoreChangeStatus (line 60) | func TestStoreChangeStatus(t *testing.T) { function TestStoreLockTrans (line 73) | func TestStoreLockTrans(t *testing.T) { function TestStoreResetCronTime (line 96) | func TestStoreResetCronTime(t *testing.T) { function testStoreResetCronTime (line 103) | func testStoreResetCronTime(t *testing.T, funcName string, resetCronHand... function TestUpdateBranches (line 175) | func TestUpdateBranches(t *testing.T) { function TestResetTransGlobalCronTime (line 182) | func TestResetTransGlobalCronTime(t *testing.T) { FILE: test/tcc_barrier_test.go function TestTccBarrierNormal (line 24) | func TestTccBarrierNormal(t *testing.T) { function TestTccBarrierRollback (line 38) | func TestTccBarrierRollback(t *testing.T) { function TestTccBarrierDisorderMysql (line 52) | func TestTccBarrierDisorderMysql(t *testing.T) { function TestTccBarrierDisorderMongo (line 56) | func TestTccBarrierDisorderMongo(t *testing.T) { function TestTccBarrierDisorderRedis (line 60) | func TestTccBarrierDisorderRedis(t *testing.T) { function runTestTccBarrierDisorder (line 65) | func runTestTccBarrierDisorder(t *testing.T, store string) { function TestTccBarrierPanic (line 143) | func TestTccBarrierPanic(t *testing.T) { FILE: test/tcc_cover_test.go function TestTccCoverNotConnected (line 14) | func TestTccCoverNotConnected(t *testing.T) { function TestTccCoverPanic (line 22) | func TestTccCoverPanic(t *testing.T) { function TestTccNested (line 34) | func TestTccNested(t *testing.T) { FILE: test/tcc_grpc_cover_test.go function TestTccGrpcCoverNotConnected (line 14) | func TestTccGrpcCoverNotConnected(t *testing.T) { function TestTccGrpcCoverPanic (line 22) | func TestTccGrpcCoverPanic(t *testing.T) { function TestTccGrpcCoverCallBranch (line 34) | func TestTccGrpcCoverCallBranch(t *testing.T) { FILE: test/tcc_grpc_test.go function TestTccGrpcNormal (line 23) | func TestTccGrpcNormal(t *testing.T) { function TestTccGrpcRollback (line 39) | func TestTccGrpcRollback(t *testing.T) { function TestTccGrpcNested (line 58) | func TestTccGrpcNested(t *testing.T) { function TestTccGrpcType (line 73) | func TestTccGrpcType(t *testing.T) { function TestTccGrpcHeaders (line 81) | func TestTccGrpcHeaders(t *testing.T) { FILE: test/tcc_jrpc_test.go function TestTccJrpcNormal (line 14) | func TestTccJrpcNormal(t *testing.T) { FILE: test/tcc_old_test.go function TestTccOldNormal (line 14) | func TestTccOldNormal(t *testing.T) { function TestTccOldRollback (line 28) | func TestTccOldRollback(t *testing.T) { function TestTccOldTimeout (line 45) | func TestTccOldTimeout(t *testing.T) { FILE: test/tcc_test.go function TestTccNormal (line 20) | func TestTccNormal(t *testing.T) { function TestTccRollback (line 34) | func TestTccRollback(t *testing.T) { function TestTccTimeout (line 52) | func TestTccTimeout(t *testing.T) { function TestTccCompatible (line 75) | func TestTccCompatible(t *testing.T) { function TestTccHeaders (line 90) | func TestTccHeaders(t *testing.T) { FILE: test/topic_test.go constant testTopicTestTopicNormal (line 19) | testTopicTestTopicNormal = "test_topic_TestTopicNormal" constant testTopicTestConcurrentUpdateTopic (line 20) | testTopicTestConcurrentUpdateTopic = "concurrent_topic_TestConcurrentUpd... function TestTopicNormal (line 23) | func TestTopicNormal(t *testing.T) { function TestConcurrentUpdateTopic (line 33) | func TestConcurrentUpdateTopic(t *testing.T) { function testSubscribe (line 72) | func testSubscribe(t *testing.T, subscribe func(topic, url string) error) { function testUnsubscribe (line 80) | func testUnsubscribe(t *testing.T, unsubscribe func(topic, url string) e... function testDeleteTopic (line 90) | func testDeleteTopic(t *testing.T, deleteTopic func(topic string) error) { function httpSubscribe (line 95) | func httpSubscribe(topic, url string) error { function httpUnsubscribe (line 108) | func httpUnsubscribe(topic, url string) error { function httpDeleteTopic (line 120) | func httpDeleteTopic(topic string) error { function grpcSubscribe (line 129) | func grpcSubscribe(topic, url string) error { function grpcUnsubscribe (line 138) | func grpcUnsubscribe(topic, url string) error { function grpcDeleteTopic (line 146) | func grpcDeleteTopic(topic string) error { FILE: test/types.go function dbGet (line 25) | func dbGet() *dtmutil.DB { function waitTransProcessed (line 30) | func waitTransProcessed(gid string) { function cronTransOnce (line 41) | func cronTransOnce(t *testing.T, gid string) { function cronTransOnceForwardNow (line 57) | func cronTransOnceForwardNow(t *testing.T, gid string, seconds int) { function cronTransOnceForwardCron (line 64) | func cronTransOnceForwardCron(t *testing.T, gid string, seconds int) { function submitForwardCron (line 71) | func submitForwardCron(seconds int, fn func()) { constant StatusPrepared (line 80) | StatusPrepared = dtmcli.StatusPrepared constant StatusSubmitted (line 82) | StatusSubmitted = dtmcli.StatusSubmitted constant StatusSucceed (line 84) | StatusSucceed = dtmcli.StatusSucceed constant StatusFailed (line 86) | StatusFailed = dtmcli.StatusFailed constant StatusAborting (line 88) | StatusAborting = dtmcli.StatusAborting function getBeforeBalances (line 91) | func getBeforeBalances(store string) []int { function assertSameBalance (line 97) | func assertSameBalance(t *testing.T, before []int, store string) { function assertNotSameBalance (line 104) | func assertNotSameBalance(t *testing.T, before []int, store string) { FILE: test/workflow_base_test.go function TestWorkflowBranchConflict (line 20) | func TestWorkflowBranchConflict(t *testing.T) { FILE: test/workflow_grpc_test.go function TestWorkflowGrpcSimple (line 22) | func TestWorkflowGrpcSimple(t *testing.T) { function TestWorkflowGrpcRollback (line 41) | func TestWorkflowGrpcRollback(t *testing.T) { function TestWorkflowMixed (line 70) | func TestWorkflowMixed(t *testing.T) { function TestWorkflowGrpcError (line 115) | func TestWorkflowGrpcError(t *testing.T) { FILE: test/workflow_http_ret_test.go function TestWorkflowRet (line 12) | func TestWorkflowRet(t *testing.T) { FILE: test/workflow_http_test.go function TestWorkflowNormal (line 21) | func TestWorkflowNormal(t *testing.T) { function TestWorkflowRollback (line 49) | func TestWorkflowRollback(t *testing.T) { function TestWorkflowTcc (line 91) | func TestWorkflowTcc(t *testing.T) { function TestWorkflowTccRollback (line 129) | func TestWorkflowTccRollback(t *testing.T) { function TestWorkflowError (line 167) | func TestWorkflowError(t *testing.T) { function TestWorkflowOngoing (line 186) | func TestWorkflowOngoing(t *testing.T) { function TestWorkflowResumeSkip (line 207) | func TestWorkflowResumeSkip(t *testing.T) { FILE: test/workflow_interceptor_test.go function TestWorkflowInterceptorOutsideSaga (line 12) | func TestWorkflowInterceptorOutsideSaga(t *testing.T) { FILE: test/workflow_ongoing_test.go function fetchOngoingStep (line 24) | func fetchOngoingStep(dest int) bool { function TestWorkflowSimpleResume (line 34) | func TestWorkflowSimpleResume(t *testing.T) { function TestWorkflowGrpcRollbackResume (line 56) | func TestWorkflowGrpcRollbackResume(t *testing.T) { function TestWorkflowXaResume (line 113) | func TestWorkflowXaResume(t *testing.T) { FILE: test/workflow_xa_test.go function TestWorkflowXaAction (line 21) | func TestWorkflowXaAction(t *testing.T) { function TestWorkflowXaRollback (line 43) | func TestWorkflowXaRollback(t *testing.T) { FILE: test/xa_cover_test.go function TestXaCoverDBError (line 13) | func TestXaCoverDBError(t *testing.T) { function TestXaCoverDTMError (line 33) | func TestXaCoverDTMError(t *testing.T) { function TestXaCoverGidError (line 41) | func TestXaCoverGidError(t *testing.T) { FILE: test/xa_grpc_test.go function TestXaGrpcNormal (line 21) | func TestXaGrpcNormal(t *testing.T) { function TestXaGrpcRollback (line 38) | func TestXaGrpcRollback(t *testing.T) { function TestXaGrpcType (line 55) | func TestXaGrpcType(t *testing.T) { function TestXaGrpcLocalError (line 70) | func TestXaGrpcLocalError(t *testing.T) { FILE: test/xa_test.go function TestXaNormal (line 21) | func TestXaNormal(t *testing.T) { function TestXaDuplicate (line 37) | func TestXaDuplicate(t *testing.T) { function TestXaRollback (line 59) | func TestXaRollback(t *testing.T) { function TestXaLocalError (line 75) | func TestXaLocalError(t *testing.T) { function TestXaTimeout (line 84) | func TestXaTimeout(t *testing.T) { function TestXaNotTimeout (line 101) | func TestXaNotTimeout(t *testing.T) {