Re: [Libbt-devel] Intro and... suggestions
Brought to you by:
ksmathers
From: Dakidd <da...@so...> - 2005-04-21 00:49:33
|
>Hi, > >I'm the only one active at this time, and I'm already doing what you >describe, >except i didn't commit yet, because it'll break CVS HEAD. Hi yerself! :) No, Alien, you're not the "only one active"... I've just been effectively silent, quietly banging away at adding stuff to make the thing truly cross-platform. As it stands now, it's Windows/*nix freindly (at least for the most part) but actively hostile to those of us still stuck by circumstances working on Macs that run an OS version below MacOS X (MacOS X folks can use it *ALMOST* "as-is" due the the unix-like underpinnings of the OS). I'm hacking away, slowly but steadily, at changing that with a massive introduction of #if TARGET_MACOS ... #else ... #endif conditionals. At this point, I've done SOMETHING that has broken most of the library in a massive way, and am working on figuring out what it was that turned out to be "poison", but prior to the change that did it, btcheck, and "ctx_loadfile", which was basically all it called directly, was working 100% for me. I'll try to keep the list posted as I make progress back to functionality. FWIW: I started my "battle" on version 0.3, and that's where I'm sticking at least until I get things back to functional. It appears as though 1.3 is *MOSTLY* very similar, at least in the "core" btxxxxx code but I haven't wrapped my head around the various changes that come with the most recent versions, so I'm a lot more comfortable dealing with "the old one" until I get it functional again. If you'd like to see my changes so far, I'm willing to crate up SOME sections and pass them along to anyone interested, but outside of the "core" code listed, it's pretty much a minefield, since I've had to hack out huge swathes of utterly incompatible networking code to get a compile at all - peer.c being particularly obnoxious for me at this point - I'd estimate I've got more than 75% of it commented or conditionalized onto the scrapheap - It's THAT hostile to Mac-style networking. Such a "crate up and send" will, by neccessity, have to be done "outside the channel" of CVS, since, quite bluntly, I'm *NOT* going to take the time needed to re-acquire the programs and skills needed to work with CVS away from banging on the code - never mind that committing anything in the shape it's currently in on my machine would be something close to a terrorist attack in terms of likely "damage" to the current codebase. >but because you seem interested, i'll commit everything now anyway, the >minute >i get my own version working a little again. > >I can tell you that i have gotten far and I restructured everything into a >functional system, more or less... > >this "library" wasn't really a library when I started, they have 3 tools (as >the release from the 1.03 branch shows) btcheck, btlist & btget... > >the first 2 work more or less, the third is still not operational, because >i'm >working on the peer protocols now. >The things i keep in mind: > - get rid of libevent Doesn't exist in MY copy of the source, but then, as mentioned, I'm working from an old (v0.3) sourcebase. > - think of generalisation: 64bit, IPv6, torrent protocol deviations Something that should be "back burner" at least until basic IPv4/32 bit functionality is achieved - IMO... > - make headers structured and make internal dependencies > - see libbt/include/bt/bt.h (it holds a header file that is supposed to have >all functions). This item is a *HUGE* one in my book, and in my opinion, needs to be at the top of the priority list. > - clean up the code Not far behind creation of a useful bt.h file in priority. Again, my opinion... Don Bruder - da...@so... <--- Preferred Email - unmunged I will choose a path that's clear: I will choose Free Will! - N. Peart |