mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-13 21:12:03 +00:00
fix(multiplayer): fence client queue cancellation states
This commit is contained in:
@@ -131,6 +131,9 @@ func (q *Queue) Cancel(playerID, ticketID, idempotencyKey string, expectedRevisi
|
||||
if ticket.Revision != expectedRevision {
|
||||
return QueueTicket{}, ErrStaleRevision
|
||||
}
|
||||
if ticket.State != Queued && ticket.State != Proposed {
|
||||
return QueueTicket{}, fmt.Errorf("%w: cancel in %s", ErrConflict, ticket.State)
|
||||
}
|
||||
if idempotencyKey == "" {
|
||||
return QueueTicket{}, fmt.Errorf("%w: empty cancel key", ErrConflict)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user