2003-06-27 14:24 Mark Wielaard * README: Update version number and explain new features. 2003-06-27 13:51 Mark Wielaard * Makefile, org/klomp/snark/GnomeInfoWindow.java, org/klomp/snark/GnomePeerList.java, org/klomp/snark/PeerCoordinator.java, org/klomp/snark/SnarkGnome.java: Add GnomeInfoWindow. 2003-06-27 00:37 Mark Wielaard * org/klomp/snark/Snark.java: Implement 'info' and 'list' commands. 2003-06-27 00:05 Mark Wielaard * Makefile, org/klomp/snark/GnomePeerList.java, org/klomp/snark/SnarkGnome.java: Add GnomePeerList to show state of connected peers. 2003-06-27 00:04 Mark Wielaard * org/klomp/snark/: Peer.java, PeerID.java: Make Comparable. 2003-06-23 23:32 Mark Wielaard * org/klomp/snark/PeerMonitorTask.java: Correctly update lastDownloaded and lastUploaded. 2003-06-23 23:20 Mark Wielaard * org/klomp/snark/Snark.java: When checking storage use the MetaInfo from the storage. 2003-06-23 21:47 Mark Wielaard * org/klomp/snark/Storage.java: Fill piece hashes, not info hashes. 2003-06-23 21:42 Mark Wielaard * org/klomp/snark/MetaInfo.java: New package private getPieceHashes() method. 2003-06-22 19:49 Mark Wielaard * README, TODO, org/klomp/snark/Snark.java: Add new command line switch --no-commands. Don't read interactive commands or show usage info. 2003-06-22 19:26 Mark Wielaard * Makefile, org/klomp/snark/PeerCheckerTask.java, org/klomp/snark/PeerMonitorTask.java, org/klomp/snark/Snark.java: Split peer statistic reporting from PeerCheckerTask into PeerMonitorTask. Use new task in Snark text ui. 2003-06-22 18:32 Mark Wielaard * org/klomp/snark/Snark.java: Only print peer id when debug level is INFO or higher. 2003-06-22 18:00 Mark Wielaard * org/klomp/snark/ShutdownListener.java: Add new ShutdownListener interface. 2003-06-22 17:18 Mark Wielaard * TODO: Text UI item to not read from stdin. 2003-06-22 17:18 Mark Wielaard * snark-gnome.sh: kaffe java-gnome support (but crashes hard at the moment). 2003-06-22 14:04 Mark Wielaard * Makefile, org/klomp/snark/CoordinatorListener.java, org/klomp/snark/PeerCoordinator.java, org/klomp/snark/ProgressListener.java, org/klomp/snark/Snark.java, org/klomp/snark/SnarkGnome.java, org/klomp/snark/SnarkShutdown.java, org/klomp/snark/Storage.java, org/klomp/snark/StorageListener.java: Split ProgressListener into Storage, Coordinator and Shutdown listener. 2003-06-20 19:06 Mark Wielaard * org/klomp/snark/: PeerCoordinator.java, Snark.java, SnarkGnome.java, Storage.java: Progress listeners for both Storage and PeerCoordinator. 2003-06-20 14:50 Mark Wielaard * Makefile, org/klomp/snark/PeerCoordinator.java, org/klomp/snark/ProgressListener.java, org/klomp/snark/SnarkGnome.java: Add ProgressListener. 2003-06-20 13:22 Mark Wielaard * org/klomp/snark/SnarkGnome.java: Add Pieces collected field. 2003-06-20 12:26 Mark Wielaard * org/klomp/snark/: PeerCoordinator.java, PeerListener.java, PeerState.java: Add PeerListener.downloaded() which gets called on chunk updates. Keep PeerCoordinator.downloaded up to date using this remove adjusting in gotPiece() except when we receive a bad piece. 2003-06-16 00:27 Mark Wielaard * Makefile, snark-gnome.sh, org/klomp/snark/Snark.java, org/klomp/snark/SnarkGnome.java: Start of a Gnome GUI. 2003-06-05 13:19 Mark Wielaard * org/klomp/snark/PeerCoordinator.java: Don't remove a BAD piece from the wantedPieces list. Revert to synchronizing on wantedPieces for all relevant sections. 2003-06-03 21:09 Mark Wielaard * org/klomp/snark/Snark.java: Only call readLine() when !quit. Always print exception when fatal() is called. 2003-06-01 23:12 Mark Wielaard * README: Set release version to 0.4. 2003-06-01 22:59 Mark Wielaard * org/klomp/snark/PeerConnectionIn.java: Handle negative length prefixes (terminates connection). 2003-06-01 21:34 Mark Wielaard * org/klomp/snark/: Snark.java, SnarkShutdown.java: Implement correct shutdown and read commands from stdin. 2003-06-01 21:34 Mark Wielaard * org/klomp/snark/TrackerInfo.java: Check that interval and peers list actually exist. 2003-06-01 21:33 Mark Wielaard * org/klomp/snark/Storage.java: Implement close(). 2003-06-01 21:05 Mark Wielaard * org/klomp/snark/PeerState.java: Fix debug logging. 2003-06-01 20:55 Mark Wielaard * org/klomp/snark/PeerCoordinator.java: Implement halt(). 2003-06-01 20:55 Mark Wielaard * org/klomp/snark/ConnectionAcceptor.java: Rename stop() to halt(). 2003-06-01 17:35 Mark Wielaard * org/klomp/snark/PeerState.java: Drop lock on this when calling addRequest() from havePiece(). 2003-06-01 14:46 Mark Wielaard * README, org/klomp/snark/ConnectionAcceptor.java, org/klomp/snark/HttpAcceptor.java, org/klomp/snark/Peer.java, org/klomp/snark/PeerCheckerTask.java, org/klomp/snark/PeerConnectionIn.java, org/klomp/snark/PeerConnectionOut.java, org/klomp/snark/PeerCoordinator.java, org/klomp/snark/PeerState.java, org/klomp/snark/Snark.java, org/klomp/snark/SnarkShutdown.java, org/klomp/snark/Storage.java, org/klomp/snark/Tracker.java, org/klomp/snark/TrackerClient.java: Add debug/log level. 2003-05-31 23:04 Mark Wielaard * org/klomp/snark/: PeerCheckerTask.java, PeerCoordinator.java: Use just one lock (peers) for all synchronization (even for wantedPieces). Let PeerChecker handle real disconnect and keep count of uploaders. 2003-05-31 22:29 Mark Wielaard * org/klomp/snark/: Peer.java, PeerConnectionIn.java: Set state to null on first disconnect() call. So always check whether it might already be null. Helps disconnect check. 2003-05-31 22:27 Mark Wielaard * org/klomp/snark/PeerConnectionOut.java: Don't explicitly close the DataOutputStream (if another thread is using it libgcj seems to not like it very much). 2003-05-30 21:33 Mark Wielaard * org/klomp/snark/PeerConnectionOut.java: Cancel (un)interested/(un)choke when (inverse) is still in send queue. Remove pieces from send queue when choke message is actaully send. 2003-05-30 19:32 Mark Wielaard * org/klomp/snark/PeerState.java: Make sure listener.wantPiece(int) is never called while lock on this is held. 2003-05-30 19:00 Mark Wielaard * org/klomp/snark/PeerConnectionOut.java: Indentation cleanup. 2003-05-30 17:50 Mark Wielaard * org/klomp/snark/Storage.java: Only synchronize on bitfield as long as necessary. 2003-05-30 17:43 Mark Wielaard * org/klomp/snark/Tracker.java: Identing cleanup. 2003-05-30 16:32 Mark Wielaard * org/klomp/snark/PeerState.java: Better error message. 2003-05-30 15:11 Mark Wielaard * org/klomp/snark/PeerState.java: Make sure not to hold the lock on this when calling the listener to prevent deadlocks. Implement handling and sending of cancel messages. 2003-05-30 14:50 Mark Wielaard * org/klomp/snark/PeerCoordinator.java: First check if we still want a piece before trying to add it to the Storage. 2003-05-30 14:49 Mark Wielaard * org/klomp/snark/PeerConnectionOut.java: Implement sendCancel(Request). Add cancelRequest(int, int, int). 2003-05-30 14:46 Mark Wielaard * org/klomp/snark/Request.java: Add hashCode() and equals(Object) methods. 2003-05-30 14:45 Mark Wielaard * org/klomp/snark/Peer.java: Fix wheter -> whether javadoc comments. Mark state null immediatly after calling listener.disconnected(). Call PeerState.havePiece() not PeerConnectionOut.sendHave() directly. 2003-05-25 19:23 Mark Wielaard * TODO: Add PeerCoordinator TODO for connecting to seeds. 2003-05-23 12:12 Mark Wielaard * Makefile: Create class files with jikes again. 2003-05-18 22:01 Mark Wielaard * org/klomp/snark/: PeerCheckerTask.java, PeerCoordinator.java: Prefer to (optimistically) unchoke first those peers that unchoked us. And make sure to not unchoke a peer that we just choked. 2003-05-18 21:48 Mark Wielaard * org/klomp/snark/Peer.java: Fix isChoked() to not always return true. 2003-05-18 14:46 Mark Wielaard * org/klomp/snark/: Peer.java, PeerCheckerTask.java, PeerCoordinator.java, PeerState.java: Remove separate Peer downloading/uploading states. Keep choke and interest always up to date. Uploading is now just when we are not choking the peer. Downloading is now defined as being unchoked and interesting. CHECK_PERIOD is now 20 seconds. MAX_CONNECTIONS is now 24. MAX_DOWNLOADERS doesn't exists anymore. We download whenever we can from peers. 2003-05-18 13:57 Mark Wielaard * org/klomp/snark/PeerConnectionOut.java: Remove piece messages from queue when we are choking. (They will have to be rerequested when we unchoke the peer again.) 2003-05-15 00:08 Mark Wielaard * org/klomp/snark/PeerState.java: Ignore missed chunk requests, don't requeue them. 2003-05-15 00:06 Mark Wielaard * org/klomp/snark/Request.java: Add sanity check 2003-05-10 15:47 Mark Wielaard * org/klomp/snark/Snark.java: Add extra '(' to usage message. 2003-05-10 15:22 Mark Wielaard * README: Set version to 0.3 (The Bakers Tale). 2003-05-10 15:17 Mark Wielaard * org/klomp/snark/PeerState.java: Mention received piece in warning message. 2003-05-10 03:20 Mark Wielaard * org/klomp/snark/: PeerConnectionIn.java, PeerState.java, Request.java: Remove currentRequest and handle all piece messages from the lastRequested list. 2003-05-09 20:02 Mark Wielaard * org/klomp/snark/PeerState.java: Fix nothing requested warning message. 2003-05-09 19:59 Mark Wielaard * org/klomp/snark/PeerConnectionOut.java: Piece messages are big. So if there are other (control) messages make sure they are send first. Also remove request messages from the queue if we are currently being choked to prevent them from being send even if we get unchoked a little later. (Since we will resent them anyway in that case.) 2003-05-09 18:33 Mark Wielaard * org/klomp/snark/: Peer.java, PeerCheckerTask.java, PeerCoordinator.java, PeerID.java: New definition of PeerID.equals (port + address + id) and new method PeerID.sameID (only id). These are used to really see if we already have a connection to a certain peer (active setup vs passive setup). 2003-05-08 03:05 Mark Wielaard * org/klomp/snark/PeerState.java: Use Snark.debug() not System.out.println(). 2003-05-06 20:29 Mark Wielaard * org/klomp/snark/PeerState.java: s/noting/nothing/ 2003-05-06 20:28 Mark Wielaard * Makefile: s/lagacy/legacy/ 2003-05-05 23:17 Mark Wielaard * README: Set version to 0.2, explain new functionality and add examples. 2003-05-05 22:42 Mark Wielaard * .cvsignore, Makefile, org/klomp/snark/StaticSnark.java: Enable -static binary creation. 2003-05-05 22:42 Mark Wielaard * org/klomp/snark/Tracker.java: Disable --ip support. 2003-05-05 21:02 Mark Wielaard * org/klomp/snark/: HttpAcceptor.java, PeerCheckerTask.java, PeerCoordinator.java, TrackerClient.java: Use Snark.debug() not System.out.println(). 2003-05-05 21:01 Mark Wielaard * org/klomp/snark/PeerConnectionIn.java: Be prepared to handle the case where currentRequest is null. 2003-05-05 21:00 Mark Wielaard * org/klomp/snark/Snark.java: Improve argument parsing errors. 2003-05-05 21:00 Mark Wielaard * Makefile: Use gcj -C again for creating the class files. 2003-05-05 09:24 Mark Wielaard * org/klomp/snark/PeerState.java: Just clear outstandingRequests, never make it null. 2003-05-05 02:55 Mark Wielaard * org/klomp/snark/TrackerClient.java: Always retry both first started event and every other event as long the TrackerClient is not stopped. 2003-05-05 02:54 Mark Wielaard * org/klomp/snark/Snark.java: Remove double assignment port. 2003-05-05 02:54 Mark Wielaard * TODO: Add Tracker TODO item. 2003-05-04 23:38 Mark Wielaard * org/klomp/snark/: ConnectionAcceptor.java, MetaInfo.java, Snark.java, Storage.java, Tracker.java: Add info hash calcultation to MetaInfo. Add torrent creation to Storage. Add ip parameter handling to Tracker. Make ConnectionAcceptor handle null/non-existing HttpAcceptors. Add debug output, --ip handling and all the above to Snark. 2003-05-04 23:36 Mark Wielaard * org/klomp/snark/TrackerClient.java: Handle all failing requests the same (print a warning). 2003-05-03 15:46 Mark Wielaard * org/klomp/snark/: Peer.java, PeerID.java, TrackerInfo.java: Split Peer and PeerID a little more. 2003-05-03 15:44 Mark Wielaard * org/klomp/snark/MetaInfo.java: Add reannounce() and getTorrentData(). 2003-05-03 15:38 Mark Wielaard * org/klomp/snark/: PeerCheckerTask.java, PeerCoordinator.java: More concise verbose/debug output. Always use addUpDownloader() to set peers upload or download state to true. 2003-05-03 13:38 Mark Wielaard * org/klomp/snark/TrackerClient.java: Compile fixes. 2003-05-03 13:32 Mark Wielaard * org/klomp/snark/TrackerClient.java: Only generate fatal() call on first Tracker access. Otherwise just print a warning error message. 2003-05-03 03:10 Mark Wielaard * org/klomp/snark/PeerState.java: Better handle resending outstanding pieces and try to recover better from unrequested pieces. 2003-05-02 21:33 Mark Wielaard * Makefile, org/klomp/snark/HttpAcceptor.java, org/klomp/snark/MetaInfo.java, org/klomp/snark/PeerID.java, org/klomp/snark/Snark.java, org/klomp/snark/Tracker.java, org/klomp/snark/TrackerClient.java, org/klomp/snark/bencode/BEncoder.java: Add Tracker, PeerID and BEncoder. 2003-05-01 20:17 Mark Wielaard * Makefile, org/klomp/snark/ConnectionAcceptor.java, org/klomp/snark/HttpAcceptor.java, org/klomp/snark/Peer.java, org/klomp/snark/PeerAcceptor.java, org/klomp/snark/Snark.java: Add ConnectionAcceptor that handles both PeerAcceptor and HttpAcceptor. 2003-05-01 18:39 Mark Wielaard * org/klomp/snark/PeerCoordinator.java: connected() synchronize on peers. 2003-04-28 02:56 Mark Wielaard * org/klomp/snark/SnarkShutdown.java: Wait some time before returning... 2003-04-28 02:56 Mark Wielaard * TODO: More items. 2003-04-28 02:56 Mark Wielaard * org/klomp/snark/Snark.java: Calculate real random ID. 2003-04-27 Mark Wielaard * snark: Initial (0.1) version.