Matt Joiner
5dbd675be6
Fix TestHaveEncode now that message length prefixes are actually included in Marshal output
2013-10-06 16:05:03 +11:00
Matt Joiner
4209216696
BEP20
2013-10-02 20:12:05 +10:00
Matt Joiner
39660d4e9d
Implement writing of chunks as they arrive
2013-10-02 19:55:03 +10:00
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
nsf
d42799be2c
torrent: Fix documentation.
2012-07-11 02:44:22 +06:00
nsf
cb1f612378
Promote DefaultName and TotalSize to methods. The need to be read-only.
2012-07-11 02:41:22 +06:00
nsf
346dd31fd9
torrent: Remove the ugly interface{} dependent API. Use a simpler one.
2012-07-11 02:30:05 +06:00
nsf
f954b649c6
torrent: Fix bug with common part not being cut off.
2012-07-09 03:37:16 +06:00
nsf
0e3b555c7e
Introduce the notion of Batch.
...
Fixes some of the API issues. Most notably there is a need to know ahead of the
building process what is the default name of the torrent metainfo in order to
give a name to the future .torrent file.
2012-07-08 07:01:14 +06:00
nsf
832248ad25
Clarify 'AddURL' -> 'AddWebSeedURL'.
2012-07-07 22:26:10 +06:00
nsf
8149db57e0
Omg, haven't tested before committing, what a shame. :D
2012-07-06 02:02:42 +06:00
nsf
20448260d4
Add more parameter checks and cleaning.
2012-07-06 01:14:34 +06:00
nsf
d684312a80
Add Builder docs. A bit shallow for now, but whatever.
2012-07-05 22:47:14 +06:00
nsf
e969be7752
Add Builder interface for creating .torrent files.
2012-07-05 22:44:54 +06:00
nsf
b1a6e3eeef
Add MarshalBencode to the torrent_info_ex, will be used by the Builder.
2012-07-05 22:44:27 +06:00
nsf
ae6df86341
Remove md5sum fields from the encoder/decoder helper structs.
...
There is no need for them.
2012-07-04 05:29:47 +06:00
nsf
cfafbffbc1
Cosmetic change File -> MetaInfo. Update docs as well.
2012-07-02 01:05:10 +06:00
nsf
bac1a906fc
Add torrent.File documentation.
2012-06-30 22:34:18 +06:00
nsf
d0429086be
Add more comments to the bencode library. Implement UnmarshalerError.
2012-06-30 22:26:20 +06:00
nsf
f72bfd8748
Tweak interface slightly.
...
Load instead of Open. Open gives an idea that there should be Close somewhere,
which is not true. Load is load.
Info is now a member instead of an accessor. Who needs these anyway.
2012-06-30 04:23:02 +06:00
nsf
0b385a409b
Add first bits of "torrent" library (.torrent file manipulation).
...
Add missing testdata for bencode also.
2012-06-28 02:26:56 +06:00
nsf
e553531a10
Fix bugs, implement missing bits. Made a mess, can't describe properly.
2012-06-28 02:21:26 +06:00
nsf
110956d936
Fix Marshaler case.
2012-06-24 17:10:53 +06:00
nsf
69d1e17b80
Add MarshalBencode test.
2012-06-24 17:10:27 +06:00
nsf
8db0c29da9
Add bufio.Writer error handling, move Flush to the internal code.
2012-06-24 16:59:04 +06:00
nsf
27b64a002c
Add a couple of decode tests, fix empty slice bug.
2012-06-22 19:34:26 +06:00
nsf
f8f98eb7cd
Add missing interface definitions.
2012-06-22 19:34:04 +06:00
nsf
57c1403300
Uncomment defer recover statement.
2012-06-20 19:34:10 +06:00
nsf
a68e4a6f5a
Initial commit.
2012-06-20 19:21:32 +06:00