Remix.run Logo
tyleo 10 hours ago

Yeah, I'm surprised this pattern doesn't have a more general name.

I've also used it to synchronize content for local multi-window editing applications: each window is its own process but routes through one "coordination" process to ensure consistent ordering.

Easily solves some cross-process concurrency issues.

munificent 7 hours ago | parent | next [-]

It does have a name:

https://en.wikipedia.org/wiki/Client-side_prediction

tyleo 5 hours ago | parent [-]

It's not quite the same since we aren't doing any sort of interpolation. I would acknowledge it's a similar idea though. Perhaps the similarity is one reason we came to this solution as a game studio.

Rohansi 8 hours ago | parent | prev [-]

In this case it's just a (transaction/commit) log. Very common in distributed systems, databases, and filesystems.

Rohansi an hour ago | parent [-]

I misread the question but it could be a read-your-writes consistency of the transaction log!