redding/sanford-protocol — pull request #13 by jcredding (2013-01-17 20:37:35+00:00)
Title: Upgrade to increase the protocol's performance

These changes specifically enchance the performance of Sanford.
Their were 2 places that were causing slowdowns: getting ruby's
`caller` in `MsgData` and stringifying params in `Request`. I've
adjusted the `MsgData` class to only get the `caller` when
needed (when an error has occurred). This keeps it out of the
regular processing of requests, where it's not needed. I moved the
stringifying of `Request` params in the `to_hash` method. This
effectively moves stringifying params only when a request is
going to be encoded using BSON. This means server `Sanford` will
never strinfigy request params (and it shouldn't need to) and
only the client, `AndSon` will (and it should).

Closes #12