|
- package rm
-
- import (
- "github.com/dk-lockdown/seata-golang/meta"
- "github.com/dk-lockdown/seata-golang/model"
- )
-
- type IResourceManagerInbound interface {
- /**
- * Commit a branch transaction.
- *
- * @param branchType the branch type
- * @param xid Transaction id.
- * @param branchId Branch id.
- * @param resourceId Resource id.
- * @param applicationData Application data bind with this branch.
- * @return Status of the branch after committing.
- * @throws TransactionException Any exception that fails this will be wrapped with TransactionException and thrown
- * out.
- */
- BranchCommit(branchType meta.BranchType, xid string, branchId int64, resourceId string, applicationData []byte) (meta.BranchStatus, error)
-
- /**
- * Rollback a branch transaction.
- *
- * @param branchType the branch type
- * @param xid Transaction id.
- * @param branchId Branch id.
- * @param resourceId Resource id.
- * @param applicationData Application data bind with this branch.
- * @return Status of the branch after rollbacking.
- * @throws TransactionException Any exception that fails this will be wrapped with TransactionException and thrown
- * out.
- */
- BranchRollback(branchType meta.BranchType, xid string, branchId int64, resourceId string, applicationData []byte) (meta.BranchStatus, error)
- }
-
- type IResourceManagerOutbound interface {
- /**
- * Branch register long.
- *
- * @param branchType the branch type
- * @param resourceId the resource id
- * @param clientId the client id
- * @param xid the xid
- * @param applicationData the context
- * @param lockKeys the lock keys
- * @return the long
- * @throws TransactionException the transaction exception
- */
- BranchRegister(branchType meta.BranchType, resourceId string, clientId string, xid string, applicationData []byte, lockKeys string) (int64, error)
-
- /**
- * Branch report.
- *
- * @param branchType the branch type
- * @param xid the xid
- * @param branchId the branch id
- * @param status the status
- * @param applicationData the application data
- * @throws TransactionException the transaction exception
- */
- BranchReport(branchType meta.BranchType, xid string, branchId int64, status meta.BranchStatus, applicationData []byte) error
-
- /**
- * Lock query boolean.
- *
- * @param branchType the branch type
- * @param resourceId the resource id
- * @param xid the xid
- * @param lockKeys the lock keys
- * @return the boolean
- * @throws TransactionException the transaction exception
- */
- LockQuery(branchType meta.BranchType, resourceId string, xid string, lockKeys string) (bool, error)
- }
-
- type IResourceManager interface {
- IResourceManagerInbound
- IResourceManagerOutbound
-
- /**
- * Register a Resource to be managed by Resource Manager.
- *
- * @param resource The resource to be managed.
- */
- registerResource(resource model.IResource)
-
- /**
- * Unregister a Resource from the Resource Manager.
- *
- * @param resource The resource to be removed.
- */
- unregisterResource(resource model.IResource)
-
- /**
- * Get all resources managed by this manager.
- *
- * @return resourceId -> Resource Map
- */
- getManagedResources() map[string]model.IResource
-
- /**
- * Get the BranchType.
- *
- * @return The BranchType of ResourceManager.
- */
- getBranchType() meta.BranchType
- }
|