This week I finally added a bunch of helper functions for handshaking and version negotiation, as well as for message sending and subscriptions. Also fixed a couple of fairly major frame sending and receiving header parsing bugs that weren't obvious until I tried to actually use the program like a STOMP client. Finally got around to running valgrind and fixed a few memory leaks, a couple of which were head scratchers. Found a handy trace logging mode for ActiveMQ which shows message contents, making debugging of sent messages much easier. Most of what is left to be done will need to relate well to persistence (like acknowledgement and receipts); so I think I'll do a final refactoring push on Monday then switch to getting basic persistence going as I really need to move forward.