xaya/libxayagame

Make SQLiteProcessor work asynchronously

Closed this issue · 0 comments

In #127, we have introduced a framework for processing game states, in particular hashing them for debugging purposes. For now, this processing runs synchronous to the main GSP operation; however, hashing of large game states can be quite expensive in terms of runtime, and it is not optimal to block the GSP completely during that operation.

The SQLiteProcessor class is already defined in a way that allows making it run asynchronous: The Compute method should use a read-only snapshot if possible (like RPC calls), so that the GSP can continue syncing while it is running.