Four Thousand And Ninety Six

A Snowflake generator lays its 64 bit output out like this:

A Snowflake id packs 1 unused bit, 41 timestamp bits, 10 machine bits and 12 sequence bits into one signed 64 bit integer 1 bit 41 bits 10 bits 12 bits 0 milliseconds since custom epoch machine id sequence bit 63 bit 0

Machine 341 gets a burst and is asked for 9,000 ids inside a single wall clock millisecond. How many can it hand out before it has to do something else, and what is that something else?

A

4,096, then it borrows an unused machine id from the pool and keeps going inside the same millisecond.

B

4,096, then it spins until the millisecond counter advances and starts the sequence over at 0.

C

1,024, then it spins until the millisecond advances. The machine field is what limits the burst.

D

All 9,000. The sequence wraps past 4,095 and the timestamp keeps the ids distinct anyway.