canasta
Buzz In
Press the buzzer. First ARRIVAL AT THE SERVER wins.
A plain def, like every other mutating handler here, and for this one it matters most of all: a buzzer is precisely the case where a whole class POSTs in the same tick. As async def the first request would hold the row lock on the event loop while the next twelve queued behind it and the pod answered nobody (see advance_round). FastAPI runs a sync handler in the threadpool, where waiting for the lock costs one thread.
No client timestamp is read anywhere in this function. Player clocks are not trustworthy (Buzzonk says so out loud, and it is the reason quiz-bowl hardware exists); the row lock IS the tie-break.
post/chatrooms/{room_name}/canasta/buzz
Path parameters
room_namestring required
Headers
authorizationstring nullable
Response
Successful Response
{"stackTrail":"paths:/chatrooms/{room_name}/canasta/buzz:post:responses:200:content:application/json:schema","oasType":"schema","type":"unknown"}