Commit Graph

20 Commits

Author SHA1 Message Date
Matt Joiner 381c6bef68 Failing WriteAt should return ErrShortWrite
See the implementation of io.Copy.
2013-10-02 19:54:23 +10:00
Matt Joiner 7bc8524d24 Mostly handle Piece messages, and kick off a piece check when all the chunks are done 2013-10-02 17:57:59 +10:00
Matt Joiner beb599698f Decoding of Piece messages, and checking entire message is consumed 2013-10-02 17:57:19 +10:00
Matt Joiner 28531a4fcc Fix request/chunk confusion, missing outgoing message prefix, protocol tests; improve request triggering 2013-10-01 18:43:18 +10:00
Matt Joiner 081a6805c5 Implementing bitfields and connection message handling 2013-09-30 21:51:08 +10:00
Matt Joiner abf5c92488 Implement peer connection writer, optimizer and handshake 2013-09-29 16:45:17 +10:00
Matt Joiner 28c7c6a5d7 Fix race conditions 2013-09-29 16:44:37 +10:00
Matt Joiner fe80bf2f2f BytesInfoHash wasn't actually initializing the info hash 2013-09-29 16:43:35 +10:00
Matt Joiner 978aa1f0c8 Don't rely on *os.File finalizer for close 2013-09-29 14:20:18 +10:00
Matt Joiner ac254e95f2 Prevent false-positive race conditions 2013-09-29 14:18:43 +10:00
Matt Joiner 7870d20573 Begin implementing the adding of peers, and initiating of connections 2013-09-29 08:11:24 +10:00
Matt Joiner ddd4382474 Handle actorTask messages 2013-09-29 04:05:09 +10:00
Matt Joiner 805897afb5 Can't send to torrentFinished while handling an event 2013-09-29 04:04:46 +10:00
Matt Joiner b4989a370f Fix crash due to torrent.MetaInfo being unset 2013-09-29 04:03:36 +10:00
Matt Joiner aefe754698 Create torrent data files with at least the required size
Truncate is required or use of mmap'd region beyond file length raises SIGBUS.
2013-09-29 04:03:04 +10:00
Matt Joiner 816c263760 Start implementing a basic client 2013-09-26 19:49:15 +10:00
Matt Joiner 0866ce3579 Add some basic protocol definitions, this will be improved in the future 2013-09-26 13:43:46 +10:00
Matt Joiner d7ed035ef1 Add torrent-verify, simple exe that logs matching pieces from a torrent file and torrent path 2013-09-26 13:43:08 +10:00
Matt Joiner 3d1fb69e36 Add torrent.Mmap and MmapSpan, types that abstract memory-mapped torrent data 2013-09-26 13:42:24 +10:00
Matt Joiner 2a9d48d09f Add cmds 'torrent-create' and 'torrent-metainfo-pprint' using nsf's libtorgo 2013-09-19 17:00:51 +10:00