ASPP/pelita — pull request #121 by Debilski (2012-06-14 23:56:46+00:00)
Title: Feature/mutability by default

Cleans up the network spec and serialisation a bit and introduces an important change:

## GameMaster does not copy the universe before sending anymore

(but sometimes it does – e.g. when the universe is noised)

In effect this means, that in a *local* game it is possible for a malicious (or negligently written) Viewer or Player to alter the universe. AbstractPlayer is taking care of the badly written ones by doing some copying on its own before storing new universes in the history, but anyone is able to change or circumvent this. (**)

Remote games have the advantage that copying is done ‘in the design’ so there is no need to enforce it.

Also, as an educational feature: Understanding the added test in test_simplesetup is key to understanding how zmq works and how to deal with asynchrony without using time.sleep.

(**) AbstractPlayer should turn the copying off, when it figures that a remote game is being run. Otherwise there won’t be any speed improvements and instead the time needed for copying brings the Player a tiny bit closer to the timeout. We’ll need to find some proper way of doing this, though.