Versions in this module Expand all Collapse all v1 v1.0.4 Aug 8, 2022 Changes in this version + const AlwaysRetryBoundary + const ClientIDSplitChar + const CronPeriod + const DbkeysSplitChar + const IpPortSplitChar + const RpcRequestTimeout + type ATCore struct + func (core *ATCore) LockQuery(branchType meta.BranchType, resourceID string, xid string, lockKeys string) bool + type AbstractCore struct + MessageSender ServerMessageSender + type DefaultCoordinator struct + func NewDefaultCoordinator(conf *config.ServerConfig) *DefaultCoordinator + func (coordinator *DefaultCoordinator) OnCheckMessage(rpcMessage protocal.RpcMessage, session getty.Session) + func (coordinator *DefaultCoordinator) OnClose(session getty.Session) + func (coordinator *DefaultCoordinator) OnCron(session getty.Session) + func (coordinator *DefaultCoordinator) OnError(session getty.Session, err error) + func (coordinator *DefaultCoordinator) OnMessage(session getty.Session, pkg interface{}) + func (coordinator *DefaultCoordinator) OnOpen(session getty.Session) error + func (coordinator *DefaultCoordinator) OnRegRmMessage(rpcMessage protocal.RpcMessage, session getty.Session) + func (coordinator *DefaultCoordinator) OnRegTmMessage(rpcMessage protocal.RpcMessage, session getty.Session) + func (coordinator *DefaultCoordinator) OnTrxMessage(rpcMessage protocal.RpcMessage, session getty.Session) + func (coordinator *DefaultCoordinator) SendASyncRequest(session getty.Session, message interface{}) error + func (coordinator *DefaultCoordinator) SendResponse(request protocal.RpcMessage, session getty.Session, msg interface{}) + func (coordinator *DefaultCoordinator) SendSyncRequest(resourceID string, clientID string, message interface{}) (interface{}, error) + func (coordinator *DefaultCoordinator) SendSyncRequestByGetty(session getty.Session, message interface{}) (interface{}, error) + func (coordinator *DefaultCoordinator) SendSyncRequestByGettyWithTimeout(session getty.Session, message interface{}, timeout time.Duration) (interface{}, error) + func (coordinator *DefaultCoordinator) SendSyncRequestWithTimeout(resourceID string, clientID string, message interface{}, timeout time.Duration) (interface{}, error) + func (coordinator *DefaultCoordinator) Stop() + type DefaultCore struct + func (core *DefaultCore) Begin(applicationID string, transactionServiceGroup string, name string, ...) (string, error) + func (core *DefaultCore) BranchRegister(branchType meta.BranchType, resourceID string, clientID string, xid string, ...) (int64, error) + func (core *DefaultCore) BranchReport(branchType meta.BranchType, xid string, branchID int64, ...) error + func (core *DefaultCore) Commit(xid string) (meta.GlobalStatus, error) + func (core *DefaultCore) GetStatus(xid string) (meta.GlobalStatus, error) + func (core *DefaultCore) GlobalReport(xid string, globalStatus meta.GlobalStatus) (meta.GlobalStatus, error) + func (core *DefaultCore) LockQuery(branchType meta.BranchType, resourceID string, xid string, lockKeys string) (bool, error) + func (core *DefaultCore) Rollback(xid string) (meta.GlobalStatus, error) + type GettySessionManager struct + TransactionServiceGroup string + Version string + var SessionManager GettySessionManager + func (manager *GettySessionManager) GetContextFromIdentified(session getty.Session) *RpcContext + func (manager *GettySessionManager) GetGettySession(resourceID string, clientID string) (getty.Session, error) + func (manager *GettySessionManager) GetRmSessions() map[string]getty.Session + func (manager *GettySessionManager) GetRoleFromGettySession(session getty.Session) meta.TransactionRole + func (manager *GettySessionManager) GetSameClientGettySession(session getty.Session) getty.Session + func (manager *GettySessionManager) IsRegistered(session getty.Session) bool + func (manager *GettySessionManager) RegisterRmGettySession(request protocal.RegisterRMRequest, session getty.Session) + func (manager *GettySessionManager) RegisterTmGettySession(request protocal.RegisterTMRequest, session getty.Session) + func (manager *GettySessionManager) ReleaseGettySession(session getty.Session) + type RpcContext struct + ApplicationID string + ClientID string + ClientRole meta.TransactionRole + ResourceSets *model.Set + Session getty.Session + TransactionServiceGroup string + Version string + func NewRpcContext(opts ...RpcContextOption) *RpcContext + func (context *RpcContext) AddResource(resource string) + func (context *RpcContext) AddResources(resources *model.Set) + type RpcContextOption func(ctx *RpcContext) + func WithRpcContextApplicationID(applicationID string) RpcContextOption + func WithRpcContextClientID(clientID string) RpcContextOption + func WithRpcContextClientRole(clientRole meta.TransactionRole) RpcContextOption + func WithRpcContextResourceSet(resourceSet *model.Set) RpcContextOption + func WithRpcContextSession(session getty.Session) RpcContextOption + func WithRpcContextTxServiceGroup(txServiceGroup string) RpcContextOption + func WithRpcContextVersion(version string) RpcContextOption + type SAGACore struct + type Server struct + func NewServer() *Server + func (s *Server) Start(addr string) + func (s *Server) Stop() + type ServerMessageListener interface + OnCheckMessage func(request protocal.RpcMessage, session getty.Session) + OnRegRmMessage func(request protocal.RpcMessage, session getty.Session) + OnRegTmMessage func(request protocal.RpcMessage, session getty.Session) + OnTrxMessage func(rpcMessage protocal.RpcMessage, session getty.Session) + type ServerMessageSender interface + SendASyncRequest func(session getty.Session, message interface{}) error + SendResponse func(request protocal.RpcMessage, session getty.Session, msg interface{}) + SendSyncRequest func(resourceID string, clientID string, message interface{}) (interface{}, error) + SendSyncRequestByGetty func(session getty.Session, message interface{}) (interface{}, error) + SendSyncRequestByGettyWithTimeout func(session getty.Session, message interface{}, timeout time.Duration) (interface{}, error) + SendSyncRequestWithTimeout func(resourceID string, clientID string, message interface{}, timeout time.Duration) (interface{}, error) + type TCInboundHandler interface + type TransactionCoordinator interface + func NewCore(sender ServerMessageSender) TransactionCoordinator + type TransactionCoordinatorInbound interface + type TransactionCoordinatorOutbound interface