-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
binary protocol v3 #5
Comments
That's awesome. Feel free to send a pull request now. We can work on the optional arguments in a different issue. |
I'm just realizing we don't support In regards of the v3: I wanted to support both v2 and v3 (and we still can) but I was struggling with the current structure and I wasn't sure how. I just came up with an idea: we could have a In any case I think a refactor of the structure should be done to have a cleaner code base. I would like to have such a structure (I'm just making this up, haven't given it much thought yet):
We could breakup the project into smaller, more maintainable and documentable files. |
I am not sure if supporting the v2 is valuable though. iirc, Cassandra 1.x needs the binary v1, and 2.x (or is it 2.1?) can have v2 or v3 (really not sure about that, need to check). If this is true, we could just drop v2 all along. |
Types could also be classes. That way it gets easy and elegant to serialize/deserialize them, do bit operations on them etc. A simple example: local flags_repr = 0
flags_repr = setbit(flags_repr, constants.query_flags.VALUES) becomes local flags = Byte.new() -- a [byte]
flags:setbit(constants.query_flags.VALUES) |
<flags>
(like QUERY and EXECUTE) and a corresponding optional<serial_consistency>
parameters (see Section 4.1.7).The text was updated successfully, but these errors were encountered: