hongbao

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2020 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const CaseName = "HongBao"

CaseName ...

Variables

This section is empty.

Functions

func InitSchema

func InitSchema(ctx context.Context, db *sql.DB) error

InitSchema ...

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client is for hongbao transaction test

func NewHongbaoCase

func NewHongbaoCase(cfg *ClientConfig) *Client

NewHongbaoCase ...

func (*Client) DoHongbaoTasks

func (h *Client) DoHongbaoTasks(ctx context.Context, db *sql.DB, hongbaoNum, sleep int) error

DoHongbaoTasks ...

func (*Client) DoUsersTask

func (h *Client) DoUsersTask(ctx context.Context, db *sql.DB, userNum, friendNum, groupNum, groupMemberNum, sleep int) error

DoUsersTask ...

func (*Client) DoValidate

func (h *Client) DoValidate(ctx context.Context, db *sql.DB) error

DoValidate ...

func (*Client) Execute

func (h *Client) Execute(ctx context.Context, db *sql.DB) error

Execute implements Client Execute interface.

func (*Client) Initialize

func (h *Client) Initialize(ctx context.Context, db *sql.DB) error

Initialize ...

func (*Client) String

func (h *Client) String() string

type ClientConfig

type ClientConfig struct {
	DBName         string
	Concurrency    int
	UserNum        int
	FriendNum      int
	GroupNum       int
	GroupMemberNum int
	HongbaoNum     int
	IgnoreCodesO   []int
	IgnoreCodesP   []int
	TxnMode        string
}

ClientConfig ...

type Session

type Session struct {
	// contains filtered or unexported fields
}

Session ...

func NewSession

func NewSession(
	hongbaoClient *Client,
	conn *sql.Conn,
	beginUserID int64,
	endUserID int64,
	hongbaoNum,
	sleep int) (*Session, error)

NewSession ...

func (*Session) BeginTxn

func (s *Session) BeginTxn(ctx context.Context) error

BeginTxn ...

func (*Session) CommitTxn

func (s *Session) CommitTxn(ctx context.Context) error

CommitTxn ...

func (*Session) CreateFriends

func (s *Session) CreateFriends(ctx context.Context, userID int64, count int) error

CreateFriends ...

func (*Session) CreateGroup

func (s *Session) CreateGroup(ctx context.Context, userID int64, members int) (groupID int64, err error)

CreateGroup ...

func (*Session) CreateHongbao

func (s *Session) CreateHongbao(ctx context.Context, userID int64, amount int64) error

CreateHongbao ...

func (*Session) CreateUser

func (s *Session) CreateUser(ctx context.Context, balance int) (userID int64, err error)

CreateUser ...

func (*Session) CreateUsers

func (s *Session) CreateUsers(ctx context.Context, userNum, friendNum, groupNum, groupMemberNum, sleep int) error

CreateUsers ...

func (*Session) DoHongbaoTask

func (s *Session) DoHongbaoTask(ctx context.Context, wg *sync.WaitGroup)

DoHongbaoTask ...

func (*Session) RollbackTxn

func (s *Session) RollbackTxn(ctx context.Context) error

RollbackTxn ...

func (*Session) UserAddBalance

func (s *Session) UserAddBalance(ctx context.Context, userID int64, amount int64) error

UserAddBalance ...

func (*Session) UserBankAddBalance

func (s *Session) UserBankAddBalance(ctx context.Context, txn *sql.Tx, userID int64, amount int64) error

UserBankAddBalance ...

Jump to

Keyboard shortcuts

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