Jumping right in.

Moderator: Project members

Post Reply
Message
Author
nullstream
500 Command not understood
Posts: 1
Joined: 2004-12-15 18:10

Jumping right in.

#1 Post by nullstream » 2004-12-15 18:28

I've been asked to see about adding a few features to FileZilla (and submitting them back to the project of course).
I've downloaded the source and I have no clue how this stuff is organized.

I know what features we want added (queue ETA, queue statistics, immediately change to newly created directory, queue completion notification, adapative bandwith usage) and have a fair idea how to implement them (I've done it with various command line ftp clients). These features would be useful for people like myself that do large volume transfers (30GB/day isn't unheard of).

Are there any documents/sites which explain how the application is organized or any 'jump-right-in' suggestions? While I don't mind just randomly breaking stuff until I figure it out , if there are easier ways I'd love hear about them before I doing it the hard way.

User avatar
botg
Site Admin
Posts: 35632
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

#2 Post by botg » 2004-12-16 10:50

Basically the FileZilla code is divided into two parts: The FTP engine and the interface.
queue ETA, queue statistics, queue completion notification
This can be done entirely in the interface, perhaps entirely in CQueueCtrl
immediately change to newly created directory
Very difficult, both engine and interface would have to be modified imo.
adapative bandwith usage
Can be done in the engine, take a look at the existing speed limiting code in CMainThread, CControlSocket, CFtpControlSocket, CTransferSocket.


However, FileZilla 2.2.9 might be the last version with the old code base. I'm currently working on FileZilla 3 which will replace the 2.x branch.
FZ3 is written from scratch with a more clean separation between engine and interface. It's currently in its early alpha stages and a lot of things may still change. My suggestion would be to wait a little bit until the code structure of FileZilla 3 stabilises and then implement the suggested features in FZ3.

Post Reply