dkforest

A forum and chat platform (onion)
git clone https://git.dasho.dev/n0tr1v/dkforest.git
Log | Files | Refs | LICENSE

commit 449a38f4ca11b14b9714d8f113bff43836cf457c
parent b7238dc2aa4d77de5c221a9102858041cce6761b
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Mon, 18 Dec 2023 04:55:01 -0500

cleanup

Diffstat:
Mpkg/web/handlers/poker/poker.go | 23+++++++++++------------
1 file changed, 11 insertions(+), 12 deletions(-)

diff --git a/pkg/web/handlers/poker/poker.go b/pkg/web/handlers/poker/poker.go @@ -336,8 +336,8 @@ func (g *Ongoing) GetPlayer(player database.Username) *PokerPlayer { return nil } -func (g *PokerGame) getPlayer(username database.Username) (out *SeatedPlayer) { - for _, p := range *g.Players.Val() { +func getPlayer(players []*SeatedPlayer, username database.Username) (out *SeatedPlayer) { + for _, p := range players { if p != nil && p.Username == username { return p } @@ -345,18 +345,17 @@ func (g *PokerGame) getPlayer(username database.Username) (out *SeatedPlayer) { return } -func (g *PokerGame) IsSeated(player database.Username) bool { - g.Players.RLock() - defer g.Players.RUnlock() - return g.isSeated(player) +func (g *PokerGame) IsSeated(player database.Username) (out bool) { + g.Players.RWith(func(gPlayers *[]*SeatedPlayer) { out = isSeated(*gPlayers, player) }) + return } func (g *PokerGame) IsSeated2(player database.Username) bool { - return g.isSeated(player) + return isSeated(*g.Players.Val(), player) } -func (g *PokerGame) isSeated(player database.Username) bool { - return g.getPlayer(player) != nil +func isSeated(players []*SeatedPlayer, player database.Username) bool { + return getPlayer(players, player) != nil } func isRoundSettled(players []*PokerPlayer) bool { @@ -409,8 +408,8 @@ func (g *PokerGame) UnSitPlayer(username database.Username) error { } } - err := g.Players.WithE(func(_ *[]*SeatedPlayer) error { - p := g.getPlayer(username) + err := g.Players.WithE(func(gPlayers *[]*SeatedPlayer) error { + p := getPlayer(*gPlayers, username) if p == nil { return errors.New("player is not sit") } @@ -1508,7 +1507,7 @@ func PokerSitHandler(c echo.Context) error { if tableAccount.Amount < pokerTable.MinBet { return errors.New(fmt.Sprintf("not enough chips to sit. have: %d, need: %d", tableAccount.Amount, pokerTable.MinBet)) } - if g.isSeated(authUser.Username) { + if isSeated(*gPlayers, authUser.Username) { return errors.New("player already seated") } if (*gPlayers)[pos] != nil {