Lots of Meetings but Got Some Good Work Done
Today was heavy with meetings, but I was able to get some nice work done on my ticker plant - the Java guys were interested in using my security name to 128-bit int converter as it was non-lossy and bi-directional. There are times they want to use a number but not loose the ability to pull out different aspects of the instrument. What I went with was a subclass of my UUID where I added in a lot of nice helper methods:
tInstType getType() const; bool isStock() const; bool isOption() const; std::string getUnderlying() const; uint16_t getExpiration() const; float getStrike() const; bool isPut() const; bool isCall() const;
where I've dropped the comments for the obvious nature of these methods. The point is that we aren't going to decode the entire 128-bit stream to get the one bit that's the Put/Call flag, so these guys allow you to get the one piece of data you want without having to convert it all into a string and then parse that.
I got this all in, and the tests were just fine. I even had the operator=(std::string) written so you could do something like:
msg::ng::secID_t id = "O:GOOG:110214:74550:C";
and it'd parse the string into the 128-bit number and be ready to go. Should save a lot of time.
Finally, I added this as a possible component of the variant class so that it could be put int he codec for the messages to the Broker. This will really help move things around as we'll be able to handle getting this as a data type in anything coming from, or sending to, the Broker. Very nice.
But then there were more meetings, and some were really draining. Still... it was nice to have a little bit of work under my belt for the day. Made it feel like it wasn't totally spent in meetings.