Source repository?

Talk about and discuss anything thats on your mind

Source repository?

Postby doob » 04 Apr 2013, 17:38

Is there a source repository available? Git, SVN or something similar.
doob
 
Posts: 24
Joined: 04 Apr 2013, 17:36

Re: Source repository?

Postby maksis » 04 Apr 2013, 21:29

The source repository is private. Access can be granted for people who can possibly contribute something back to AirDC++.

UPDATE: information about getting the latest code is available at http://www.airdcpp.net/component/k2/22-developers
User avatar
maksis
Site Admin
 
Posts: 868
Joined: 23 Nov 2010, 18:56

Re: Source repository?

Postby doob » 05 Apr 2013, 20:03

Why is that? I mean, it's open source, there could be a read only repository available.
doob
 
Posts: 24
Joined: 04 Apr 2013, 17:36

Re: Source repository?

Postby Night » 05 Apr 2013, 21:37

Open source, yes but that only means we release the source everytime we release a public build.
I dont see reasons for making the repository public, unless we would gain something of it ( that's why access can be granted there ). There can be buggy and incomplete versions in the repo, that's why we have beta testers group and when it seems ok enough for a public beta then the source will also be released.

This is how we avoid someone spreading buggy nightly builds around, and the new version doesnt get a bad reputation before its even finished.
Night
Site Admin
 
Posts: 571
Joined: 24 Sep 2008, 18:50

Re: Source repository?

Postby doob » 06 Apr 2013, 12:14

The reason I'm asking is because I'm interested in creating a GUI for Mac OS X.
doob
 
Posts: 24
Joined: 04 Apr 2013, 17:36

Re: Source repository?

Postby Night » 06 Apr 2013, 12:16

i see, now there is a reason for granting access ;)
Night
Site Admin
 
Posts: 571
Joined: 24 Sep 2008, 18:50

Re: Source repository?

Postby doob » 06 Apr 2013, 14:10

I've already started a couple of years ago, but for fulDC. Since both are derived from DC++, I hope it won't be too difficult to adapt for AirDC++.
doob
 
Posts: 24
Joined: 04 Apr 2013, 17:36

Re: Source repository?

Postby Night » 06 Apr 2013, 14:27

yes, the gui uses wtl like fuldc did so if you've already done something for it, it shouldnt be much different.
( just more things to do :) )
Night
Site Admin
 
Posts: 571
Joined: 24 Sep 2008, 18:50

Re: Source repository?

Postby maksis » 09 Apr 2013, 16:09

I've sent the credentials
User avatar
maksis
Site Admin
 
Posts: 868
Joined: 23 Nov 2010, 18:56

Re: Source repository?

Postby doob » 09 Apr 2013, 19:57

Cool, thanks.
doob
 
Posts: 24
Joined: 04 Apr 2013, 17:36

Re: Source repository?

Postby doob » 09 Apr 2013, 20:45

BTW, are you using C++11 features?
doob
 
Posts: 24
Joined: 04 Apr 2013, 17:36

Re: Source repository?

Postby maksis » 09 Apr 2013, 21:02

doob wrote:BTW, are you using C++11 features?


Yes, always when possible (C++11 support in VS2012 isn't perfect: http://msdn.microsoft.com/en-us/library ... 67368.aspx)
User avatar
maksis
Site Admin
 
Posts: 868
Joined: 23 Nov 2010, 18:56

Re: Source repository?

Postby maksis » 07 May 2013, 17:38

Have you got started with this? :P
User avatar
maksis
Site Admin
 
Posts: 868
Joined: 23 Nov 2010, 18:56

Re: Source repository?

Postby doob » 12 May 2013, 12:38

maksis wrote:Have you got started with this? :P


Sorry for the late reply.

Yes. I'm still trying to just compile the client. It's a slow process. While fulDC was fairly up to date with non-Windows platforms later versions of dc++/aird++ have not added Posix versions when new functions has been added. Also all string handling functions, Unicode vs non-Unicode, are a complete mess. It easy to see that the code has not been compiled with the UNICODE macro disabled in a long time. The code is trying to support both Unicode and non-Unicode string functions at the same time. Some functions expect string, some wstring some tstring. Some will overload on tstring and string, which only works when the UNICODE macro is defined, that is when tsring is wstring.

In my opinion the correct way to handle encodings is to have one, single internal encoding. Then when data goes out, convert to the external encoding as late as possible. When the data comes in, do the opposite.
doob
 
Posts: 24
Joined: 04 Apr 2013, 17:36

Re: Source repository?

Postby maksis » 12 May 2013, 23:42

What comes to the current state of DC++ compared to older version, it probably has something to with LinuxDC++ not being developed anymore. They seemed to provide lots of patches for DC++ when the project was active.

I haven't seen it that useful to make the AirDC code run straight on a non-Windows operating system since there hasn't been any need for that (and no solid indication that it would be needed in future). I neither have ever coded anything for other operating systems.

However, I've thought about some things that might cause problems... like for example the messy code in TargetUtil and the use of Parallel Patterns Library for threading tasks. I've added some kind of readiness for using Thread Building Blocks from Intel that should be compatible with the PPL API (but seems that it requires more changes). I can also fix some of the problems from the core if I know what are causing problems. It's also fine to commit core fixes to the trunk.
User avatar
maksis
Site Admin
 
Posts: 868
Joined: 23 Nov 2010, 18:56

Re: Source repository?

Postby doob » 19 May 2013, 11:27

maksis wrote:What comes to the current state of DC++ compared to older version, it probably has something to with LinuxDC++ not being developed anymore. They seemed to provide lots of patches for DC++ when the project was active.


I see.

I haven't seen it that useful to make the AirDC code run straight on a non-Windows operating system since there hasn't been any need for that (and no solid indication that it would be needed in future). I neither have ever coded anything for other operating systems.


Fair enough.

However, I've thought about some things that might cause problems... like for example the messy code in TargetUtil and the use of Parallel Patterns Library for threading tasks. I've added some kind of readiness for using Thread Building Blocks from Intel that should be compatible with the PPL API (but seems that it requires more changes).


I'm using Grand Central Dispatch (GCD) which seems to be similar to PPL.

I can also fix some of the problems from the core if I know what are causing problems.


As I said, many of the string functions in Util are causing problems. Just try and compile without the UNICODE macro defined an you should see a bunch of errors. I have already fixed most of these errors.

But currently I'm kind of stuck with QueueManager::loadQueue. What's causing the problem is the call to concurrency::parallel_for_each. I tried to use "dispatch_apply" which is available in GCD but that causes problems with the "atomic<long> loaded" variable. I'm getting the following error:
Code: Select all
Copying variable of type 'atomic<long>' invokes deleted constructor


I suspect "atomic" is not compatible with blocks (similar to lambdas). I have also tried to use a reference and pointer to the "loaded" variable, didn't help.

It's also fine to commit core fixes to the trunk.


Yeah, I'll be doing that. I don't want to commit anything until I have the client compiling.
doob
 
Posts: 24
Joined: 04 Apr 2013, 17:36

Re: Source repository?

Postby maksis » 19 May 2013, 22:32

doob wrote:But currently I'm kind of stuck with QueueManager::loadQueue. What's causing the problem is the call to concurrency::parallel_for_each. I tried to use "dispatch_apply" which is available in GCD but that causes problems with the "atomic<long> loaded" variable. I'm getting the following error:
Code: Select all
Copying variable of type 'atomic<long>' invokes deleted constructor


I suspect "atomic" is not compatible with blocks (similar to lambdas). I have also tried to use a reference and pointer to the "loaded" variable, didn't help.


Looks like a compiler bug according to Google... if there is no fixed version available, maybe it should just have a workaround definition to use regular int (it's not even that important to use atomics there as the information is only used for informational display).
User avatar
maksis
Site Admin
 
Posts: 868
Joined: 23 Nov 2010, 18:56

Re: Source repository?

Postby doob » 23 May 2013, 20:10

I'll try and change it to a regular int.
doob
 
Posts: 24
Joined: 04 Apr 2013, 17:36

Re: Source repository?

Postby maksis » 16 Sep 2013, 17:13

I don't know if you have noticed but I've made a big effort in 2.60 to allow compiling the core on Linux (well yeah, there were lots of things to fix). There's also a build script included in the source and a small test app that I've used for quickly checking that the client can connect to hubs and share files.
User avatar
maksis
Site Admin
 
Posts: 868
Joined: 23 Nov 2010, 18:56

Re: Source repository?

Postby doob » 30 Sep 2013, 18:29

No, I have not noticed. Cool. I haven't had that much time to work on it. There's quite a lot of work to make it compile on Posix. I understand that the development is focusing on Windows as the platform, but what's somewhat annoying and would be a big help, is to actually use the cross-platform functions which already exist. Many of, what I assume is, the newer functions uses Windows specific API's although a cross-platform API already exist in DC.

Also, when a Windows specific API needs to be used, make sure it's wrapped in an "#ifdef" block and put something like "#error Not implement on Posix" in the else block.

I'll checkout the latest code and have a look. Thanks.
doob
 
Posts: 24
Joined: 04 Apr 2013, 17:36

Re: Source repository?

Postby maksis » 04 Oct 2013, 10:28

Features that haven't been ported:
- Share monitoring
- Getting the volume list for disk space comparison (TargetUtil)
- Scope check for IPv6 (miniupnpc mapper)
- Updater code
User avatar
maksis
Site Admin
 
Posts: 868
Joined: 23 Nov 2010, 18:56

Re: Source repository?

Postby doob » 06 Oct 2013, 10:19

I downloaded the latest changes and they helped a lot, thanks. I've been able to compile the client now. But unfortunately I haven't been able to link it yet. I'm currently stuck with that it can't find the "leveldb::DB::Open" and "leveldb::RepairDB" symbols. I don't know why, they seem to be available in the library when I run "nm". All other symbols seem to be found from that library.
doob
 
Posts: 24
Joined: 04 Apr 2013, 17:36

Re: Source repository?

Postby maksis » 06 Oct 2013, 10:53

doob wrote:I downloaded the latest changes and they helped a lot, thanks. I've been able to compile the client now. But unfortunately I haven't been able to link it yet. I'm currently stuck with that it can't find the "leveldb::DB::Open" and "leveldb::RepairDB" symbols. I don't know why, they seem to be available in the library when I run "nm". All other symbols seem to be found from that library.


I haven't experienced such error on any platform yet
User avatar
maksis
Site Admin
 
Posts: 868
Joined: 23 Nov 2010, 18:56

Re: Source repository?

Postby doob » 06 Oct 2013, 13:04

I found the problem, the client and leveldb was built using different standard libraries.

BTW, how is version.h generated?
doob
 
Posts: 24
Joined: 04 Apr 2013, 17:36

Re: Source repository?

Postby maksis » 06 Oct 2013, 13:41

doob wrote:BTW, how is version.h generated?


http://tortoisesvn.net/docs/release/Tor ... wcrev.html

I made a few OS X related changes too in order to try compiling it :p
User avatar
maksis
Site Admin
 
Posts: 868
Joined: 23 Nov 2010, 18:56

Next

Return to The Round Table

Who is online

Users browsing this forum: No registered users and 2 guests

cron