Hi Cotton. I reply inline.
On Mar 25, 2014 3:07 PM, "Cotton Seed" <cotto...@gmail.com> wrote:
>
> I'm thinking about the tracker. I'm imagining some changes to the rest
> of the code that I thought I'd run by the list before I jump in.
>
> 1. Split the Message hierarchy by message group: Core, Database,
> Tracker, etc. with base visitor classes for each group. This way,
> different connections can use different groups: Core, Database, Diectory
> for a file syncing app; Core, Tracker for the tracker server; etc.
I think this is a good idea.
>
> 2. Remove global enum for message type and use type string in Message.
> This makes the code more extensible, e.g., we want to add an IM message
> group for a chat application.
I don't know if this is a good idea. With the current implementation in C++ which is not a dynamic language, you need concrete classes for each message. Hence the enum or string doesn't make much difference. Maybe you can concrete the example a bit so we can understand what you mean better. I reason better with concrete examples :)
>
> 3. Break Coder into two pieces: Codec, which converts between native C++
> types and encoded values (e.g. JSON) but doesn't know about message
> types (removing a O(n^2) interaction) and <group>MessageFactory, for
> decoding messages from a given group.
This might be a good idea but I don't know if it's possible, maybe you want to try and propose a better improvement. Currently I made the codec swappable as you can check in the code, but I think you are right and the json codec knows about the message type. How can you convert to a C++ type if you don't know the type? This I don't know myself.
Pedro.
> --
> You received this message because you are subscribed to the Google Groups "ClearSkies Dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to clearskies-de...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "ClearSkies Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clearskies-de...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Hi Cotton.
When I coded the message visitor myself I was a bit critical with my own code. I also merged a pull request from Detunized that was removed in your changes.
I'm very happy that you want yo contribute and I think this is a very interesting project.
I apologize if you got the impression that your changes are not welcome its not the case at all. Your changes are most welcome. The problem is that I'm not 100% happy with the message handling code as it is now, but I'm not sure how to make it better. I'm not sure that having more dynamic casts is a good solution or not. I will have to check your patch in detail and think about it.
Whenever one makes a pull request there's the risk that it won't be merged and when you do it to contribute to a project it can suck. I agree 100%. If you have more programming power than the original project you can fork it and sail away if the contribution is so critical. For us it will be better to reach an agreement and collaborate since there's more work than programmers :-)
Again in our case your contributions and everybody else's are greatly welcome and I was trying to help answering your questions to direct the effort in a direction where you can implement a feature and design it in the way that you judge that makes most sense and I can merge it if its mostly OK.
If you refactor the message handling which is a central piece in a way that is not better I won't be able to merge, that's a risk that you have to accept and can minimize by asking first as you did on the list. So there's no etiquette that you breached and I was more than happy to answer your questions. I'm also very happy that you want to contribute.
But you shouldn't get discouraged so easily because your changes are questioned or even not merged. You might think that you waste your time but its not like that. You got familiar with the code and you got feedback on your solution and this dialog is what make professionals grow. Please don't give up or get discouraged by my opinions. We were just analyzing the code, anything beyond that is your personal interpretation.
Having said that. I had a very busy week and only looked at your changes briefly on the web interface. If you feel your changes really improve that code make a pull request and I will check it carefully and we can discuss it here to see what's best. We also don't want to make the code more difficult to understand for other people that might want to contribute for a marginal benefit.
I just wanted to tell you that anything you do on the tracker is easier to merge than refactoring the message handling which BTW has merges from 3 different people . They might also object if we remove their contribution without analysis. I dont like that code 100% and if i change it i want to make sure it makes it better not worse.
I hope I answered your concerns. Please dont get discouraged by what a stranger on the internet says. I think this is an interesting project and we can have a lot of fun coding and make a great product together.
Again if you are confident that your change is good, make the pull and I promise to study it in detail. Just dont be upset if I try to analyze it ;-)
Pedro.
Where were you wandering?
I agree with what you wrote. If I remember correctly is just json messages without payload etc. Should be easy to make in any language.
--
--
You received this message because you are subscribed to the Google Groups "ClearSkies Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clearskies-de...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Is the project still alive? I am currently looking for a project that I can contribute to :)
BR,
Pawel
Hi Pawel
What would you like to help with?
Pedro
BR,
Pawel.
Pawel
Hi Paweł
I can give you more detail on request. We have an effort for a C++ engine for the protocol. It needs a bit of work to get the protocol going. (Should be protocol.CPP) I'm rethinking some approaches and I think we should send the files on chunks with checksums as they do in syncthing. Im a bit stuck deciding what to inject messages during a file transfer, how to queue update notifications etc. Mostly timing and protocol....
Then there's also the crypto layer which needs to be done.
What is the most interesting part for you?
Pedro.
So answering directly your question: coding!
Pawel
--
You received this message because you are subscribed to the Google Groups "ClearSkies Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clearskies-de...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.