Nicole L
Nicole L
I think this will have to get promoted to a milestone. It's too large a goal be to summed up in a single task, and there are still design questions...
It's worth looking at the way [Serde](https://github.com/serde-rs/serde) implements it since it's pretty much the Rust standard for serialization (and for good reason, it looks really good! If I weren't committed...
This could be implemented by throwing all the names into a `Vec`, shuffling the list, and then popping the last one off each time we need to generate a name....
My current thinking is that we should simply throw an exception anywhere we detect a desync, and have a root try/catch block at the top-level of the control flow for...
Oh, I completely forgot that I had even already added `OutOfSyncException` to the client project. I'm going to experiment with this approach going forward and try to track what works...
One case study of how we're handling this is `MatchState` which currently handles a lot of the work of making state changes atomic. Pretty much all state changes are fallible,...
Right now tarpc doesn't support two-way communication between client and server: The client can send the server requests, but the server can't send the client requests/messages. This is a potential...
A good first step would be to get logging in place via the [tracing](https://crates.io/crates/tracing) crate. This will allow us to narrow down the source of the problem.
Note that the client will also sometimes get stuck at the very beginning during startup, too. This is more rare, though.
After restarting my client a few times this is no longer happening with as much consistency. I've added server logging so it should be much easier to debug this issue...