]>
Sergey Matveev's repositories - btrtrc.git/log
summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Matt Joiner [Mon, 16 Dec 2013 07:47:23 +0000 (18:47 +1100)]
Simplify the tracker.New interface, just take a string
Matt Joiner [Mon, 16 Dec 2013 07:46:55 +0000 (18:46 +1100)]
Tracker doc
Matt Joiner [Sat, 14 Dec 2013 11:21:45 +0000 (22:21 +1100)]
Fixes and tests for UDP tracker protocol
Matt Joiner [Sat, 14 Dec 2013 11:20:13 +0000 (22:20 +1100)]
Fix parsing of UDP announce response peers
Matt Joiner [Wed, 6 Nov 2013 14:55:29 +0000 (01:55 +1100)]
Implementing UDP tracker in its own module
Matt Joiner [Mon, 4 Nov 2013 13:10:16 +0000 (00:10 +1100)]
Unit test for connection address comparison to avoid adding bootstrap peers when already present
Matt Joiner [Mon, 4 Nov 2013 13:07:28 +0000 (00:07 +1100)]
Bring the 'torrent' command up to speed with the client API, including profiling flags
Matt Joiner [Mon, 4 Nov 2013 13:06:40 +0000 (00:06 +1100)]
Set the event condition locker in client
Needed for WaitAll, albeit not actually triggered anywhere yet.
Matt Joiner [Mon, 4 Nov 2013 13:06:08 +0000 (00:06 +1100)]
Stop connection writer timer on exit from function
Matt Joiner [Mon, 4 Nov 2013 13:05:44 +0000 (00:05 +1100)]
Remove obsolete private type 'pieceState'
Matt Joiner [Mon, 4 Nov 2013 13:04:14 +0000 (00:04 +1100)]
Begin on UDP trackers
Matt Joiner [Tue, 22 Oct 2013 07:03:44 +0000 (18:03 +1100)]
More explicit implementation for wantPiece method
Matt Joiner [Tue, 22 Oct 2013 07:03:27 +0000 (18:03 +1100)]
If no requests can be found for a connection, set it to uninterested
Matt Joiner [Tue, 22 Oct 2013 07:02:52 +0000 (18:02 +1100)]
Set pieceByBytesPendingSlice capacity in advance to reduce memory pressure
Matt Joiner [Tue, 22 Oct 2013 07:01:56 +0000 (18:01 +1100)]
Reconnect to the torrentfs -testPeer at regular intervals if it's missing for any loaded torrents
Matt Joiner [Tue, 22 Oct 2013 07:00:35 +0000 (18:00 +1100)]
Fix keep-alive timer use in connection writer, and make connection a public type
I'm not sure if making this public is the right approach yet, but for now it's a good way to conditionally invoke methods on Client from external packages.
Matt Joiner [Sun, 20 Oct 2013 14:07:01 +0000 (01:07 +1100)]
Significant progress and improvements
Piece state is broken up into several dimensions.
Implement keep-alive in connection writer.
Lazily hash pieces, only as requested.
Replace client actor mechanism with a mutex.
Fix runConnection/connectionLoop/handshake misnomers.
Fix broken reading from partially complete pieces.
Matt Joiner [Tue, 15 Oct 2013 08:42:30 +0000 (19:42 +1100)]
Always finish off partially downloaded pieces
Matt Joiner [Mon, 14 Oct 2013 14:39:12 +0000 (01:39 +1100)]
Implement prioritizing of torrent data regions based on FS activity
Matt Joiner [Sun, 13 Oct 2013 12:16:21 +0000 (23:16 +1100)]
Torrent client publishes data ready information; torrentfs supports file reads
Matt Joiner [Mon, 7 Oct 2013 07:58:33 +0000 (18:58 +1100)]
Fix bugs in the new WriteSectionTo hashing implementation
Matt Joiner [Sun, 6 Oct 2013 23:35:10 +0000 (10:35 +1100)]
Create more efficient writer method for MMapSpan for use with hashing
Matt Joiner [Sun, 6 Oct 2013 19:00:35 +0000 (06:00 +1100)]
Support browsing torrents in the filesystem
Matt Joiner [Sun, 6 Oct 2013 10:12:44 +0000 (21:12 +1100)]
Need executable permissions on torrent data directories
Matt Joiner [Sun, 6 Oct 2013 07:01:39 +0000 (18:01 +1100)]
Start implementing torrentfs binary
Matt Joiner [Sun, 6 Oct 2013 05:05:03 +0000 (16:05 +1100)]
Fix TestHaveEncode now that message length prefixes are actually included in Marshal output
Matt Joiner [Wed, 2 Oct 2013 10:12:05 +0000 (20:12 +1000)]
BEP20
Matt Joiner [Wed, 2 Oct 2013 09:55:03 +0000 (19:55 +1000)]
Implement writing of chunks as they arrive
Matt Joiner [Wed, 2 Oct 2013 09:54:23 +0000 (19:54 +1000)]
Failing WriteAt should return ErrShortWrite
See the implementation of io.Copy.
Matt Joiner [Wed, 2 Oct 2013 07:57:59 +0000 (17:57 +1000)]
Mostly handle Piece messages, and kick off a piece check when all the chunks are done
Matt Joiner [Wed, 2 Oct 2013 07:57:19 +0000 (17:57 +1000)]
Decoding of Piece messages, and checking entire message is consumed
Matt Joiner [Tue, 1 Oct 2013 08:43:18 +0000 (18:43 +1000)]
Fix request/chunk confusion, missing outgoing message prefix, protocol tests; improve request triggering
Matt Joiner [Mon, 30 Sep 2013 11:51:08 +0000 (21:51 +1000)]
Implementing bitfields and connection message handling
Matt Joiner [Sun, 29 Sep 2013 06:45:17 +0000 (16:45 +1000)]
Implement peer connection writer, optimizer and handshake
Matt Joiner [Sun, 29 Sep 2013 06:44:37 +0000 (16:44 +1000)]
Fix race conditions
Matt Joiner [Sun, 29 Sep 2013 06:43:35 +0000 (16:43 +1000)]
BytesInfoHash wasn't actually initializing the info hash
Matt Joiner [Sun, 29 Sep 2013 04:20:18 +0000 (14:20 +1000)]
Don't rely on *os.File finalizer for close
Matt Joiner [Sun, 29 Sep 2013 04:18:43 +0000 (14:18 +1000)]
Prevent false-positive race conditions
Matt Joiner [Sat, 28 Sep 2013 22:11:24 +0000 (08:11 +1000)]
Begin implementing the adding of peers, and initiating of connections
Matt Joiner [Sat, 28 Sep 2013 18:05:09 +0000 (04:05 +1000)]
Handle actorTask messages
Matt Joiner [Sat, 28 Sep 2013 18:04:46 +0000 (04:04 +1000)]
Can't send to torrentFinished while handling an event
Matt Joiner [Sat, 28 Sep 2013 18:03:36 +0000 (04:03 +1000)]
Fix crash due to torrent.MetaInfo being unset
Matt Joiner [Sat, 28 Sep 2013 18:03:04 +0000 (04:03 +1000)]
Create torrent data files with at least the required size
Truncate is required or use of mmap'd region beyond file length raises SIGBUS.
Matt Joiner [Thu, 26 Sep 2013 09:49:15 +0000 (19:49 +1000)]
Start implementing a basic client
Matt Joiner [Thu, 26 Sep 2013 03:43:46 +0000 (13:43 +1000)]
Add some basic protocol definitions, this will be improved in the future
Matt Joiner [Thu, 26 Sep 2013 03:43:08 +0000 (13:43 +1000)]
Add torrent-verify, simple exe that logs matching pieces from a torrent file and torrent path
Matt Joiner [Thu, 26 Sep 2013 03:42:24 +0000 (13:42 +1000)]
Add torrent.Mmap and MmapSpan, types that abstract memory-mapped torrent data
Matt Joiner [Thu, 19 Sep 2013 07:00:51 +0000 (17:00 +1000)]
Add cmds 'torrent-create' and 'torrent-metainfo-pprint' using nsf's libtorgo