2011-09-30
2011-09-29
2011-09-28
Let's Code Dimdwarf #67: Hide SessionHandle
The ClientSessions
class is good enough for now, so we can resume doing what initially caused the need for it; we need to keep the SessionHandle
private to the network layer and use only SessionId
elsewhere.
2011-09-27
2011-09-26
2011-09-25
Let's Code Jumi #68: Actorified Runners (Part 8)
Finishing the work on the new actor-based runners, now that the actor framework has been improved to better match their needs.
2011-09-24
2011-09-23
2011-09-21
2011-09-20
Let's Code Jumi #64: Refactoring Actor Tests (Part 1)
Putting the single-threaded actors into use and cleaning up the actor tests by extracting recurring abstractions. Also trying out an idea about extracting details into a super class which I read about recently.
2011-09-18
2011-09-17
2011-09-16
Let's Code Jumi #61: Single-Threaded Actors (Part 1)
Creating a second implementation of the Actors class which will be single-threaded and useful for unit testing. I will use abstract contract tests for the common behaviour which must work with both threading models. Also some tests need to be refactored to decoupled them from the threading model.
2011-09-13
Let's Code Dimdwarf #66: State Machine DSL
The code in ClientSessions has started to resemble a domain specific language for state machines with its operations, transitions and actions. Let's refactor it towards a DSL. After recording this episode I refactored it still some more off-camera. See these three last commits for the final DSL.
2011-09-10
2011-09-09
2011-09-08
Let's Code Jumi #58: Worker Threads (Part 1)
Implementing the actor-based runners got too complicated, but I have a hunch that it would be easier to implement them if I would have a simple way to start worker threads. They would run unattended after started and have a callback of when they finish. So let's improve the actor infrastructure.
2011-09-05
Let's Code Dimdwarf #65: Feature Complete
The state machine has now been implemented and most logic has been moved from the controller to the ClientSessions state machine, leaving the controller focused on just simple mapping. Only some refactoring remains.