Incorporated a small JSON library from sinesignal/ottoman, SineSignal.Ottoman.Serialization, with minor modifications; mostly deleting a few things that weren't required. This eliminates the need for us to add a large third-party dependency for a JSON library.
TODO:
Fix whatever issues are breaking unit tests.
FIXME on ability to read backtraces from the server.
FIXME around using the correct JSON encoding for text->bytes, currently using UTF-8 and need to verify that's correct. Also remove encoding creation on every command run.
Converting Query objects into JSON, and JSON into Response objects, is currently intermingled in the Connection class. I'm thinking I'd like to separate that into a "JSONProtocol" class, and possibly even restore the protobuf-based code into it's own class. This would allow comparison between the code (eg. performance testing, bug tracking down), and maybe even runtime selection between the protocol (although I don't know why, it just seems practical). The biggest goal would be code cleanup first.
Review all code changes and see if I've left anything else ugly lying around.
Incorporate the requirements of the Apache License with regard to the code that will be redistributed from sinesignal/ottoman. Requirements in section 4 of the Apache License will be followed.
Work-in-progress to convert to the JSON protocol.
Incorporated a small JSON library from sinesignal/ottoman, SineSignal.Ottoman.Serialization, with minor modifications; mostly deleting a few things that weren't required. This eliminates the need for us to add a large third-party dependency for a JSON library.
TODO:
Fix whatever issues are breaking unit tests.FIXME on ability to read backtraces from the server.FIXME around using the correct JSON encoding for text->bytes, currently using UTF-8 and need to verify that's correct. Also remove encoding creation on every command run.Converting Query objects into JSON, and JSON into Response objects, is currently intermingled in the Connection class. I'm thinking I'd like to separate that into a "JSONProtocol" class, and possibly even restore the protobuf-based code into it's own class. This would allow comparison between the code (eg. performance testing, bug tracking down), and maybe even runtime selection between the protocol (although I don't know why, it just seems practical). The biggest goal would be code cleanup first.Review all code changes and see if I've left anything else ugly lying around.Incorporate the requirements of the Apache License with regard to the code that will be redistributed from sinesignal/ottoman. Requirements in section 4 of the Apache License will be followed.Update release notes.This PR will address issue #175.