]> git.rkrishnan.org Git - functorrent.git/log
functorrent.git
9 years agobeginning of a design doc
Ramakrishnan Muthukrishnan [Sun, 17 Jul 2016 04:05:57 +0000 (09:35 +0530)]
beginning of a design doc

9 years agoremove redundant import
Ramakrishnan Muthukrishnan [Sun, 17 Jul 2016 04:05:30 +0000 (09:35 +0530)]
remove redundant import

10 years agoREADME: update current status
Ramakrishnan Muthukrishnan [Sun, 10 Jul 2016 07:56:05 +0000 (13:26 +0530)]
README: update current status

10 years agocleanups on various module imports
Ramakrishnan Muthukrishnan [Sun, 10 Jul 2016 07:55:28 +0000 (13:25 +0530)]
cleanups on various module imports

10 years agomore hlint fixes
Ramakrishnan Muthukrishnan [Sat, 25 Jun 2016 04:51:22 +0000 (10:21 +0530)]
more hlint fixes

10 years agomore hlint cleanups
Ramakrishnan Muthukrishnan [Sat, 25 Jun 2016 01:51:35 +0000 (07:21 +0530)]
more hlint cleanups

10 years agoTracker/Udp: cleanup of warnings
Ramakrishnan Muthukrishnan [Sat, 25 Jun 2016 01:31:59 +0000 (07:01 +0530)]
Tracker/Udp: cleanup of warnings

10 years agoTracker: refactor the tracker loop code
Ramakrishnan Muthukrishnan [Thu, 23 Jun 2016 16:27:44 +0000 (21:57 +0530)]
Tracker: refactor the tracker loop code

10 years agorm shell.nix, default.nix
Ramakrishnan Muthukrishnan [Mon, 20 Jun 2016 05:49:01 +0000 (11:19 +0530)]
rm shell.nix, default.nix

Haven't tested in a nixos/nixpkg environment for a long time and
I am no longer a nix user, so removing it.

10 years agorefactoring: return type of tracker
Ramakrishnan Muthukrishnan [Sun, 19 Jun 2016 15:20:27 +0000 (20:50 +0530)]
refactoring: return type of tracker

Needs DuplicateRecordFields from GHC 8.0.x to compile

10 years agodata: new test http tracker based torrent file
Ramakrishnan Muthukrishnan [Sun, 19 Jun 2016 07:05:05 +0000 (12:35 +0530)]
data: new test http tracker based torrent file

10 years agorefactor: remove peerid from Peer datatype
Ramakrishnan Muthukrishnan [Sun, 19 Jun 2016 06:56:55 +0000 (12:26 +0530)]
refactor: remove peerid from Peer datatype

10 years agoTracker/Udp: refactor the trackerloop, add timeouts
Ramakrishnan Muthukrishnan [Sun, 19 Jun 2016 06:30:19 +0000 (12:00 +0530)]
Tracker/Udp: refactor the trackerloop, add timeouts

10 years agoMisc fixes to http tracker.
Ramakrishnan Muthukrishnan [Sat, 18 Jun 2016 07:31:10 +0000 (13:01 +0530)]
Misc fixes to http tracker.

10 years agoTracker/Udp: bug fix, IP is 4 bytes, not 6. Doh!
Ramakrishnan Muthukrishnan [Thu, 16 Jun 2016 04:03:59 +0000 (09:33 +0530)]
Tracker/Udp: bug fix, IP is 4 bytes, not 6. Doh!

10 years agoTracker/Udp.hs: connect and annouce works and gets response
Ramakrishnan Muthukrishnan [Wed, 15 Jun 2016 09:20:01 +0000 (14:50 +0530)]
Tracker/Udp.hs: connect and annouce works and gets response

10 years agoTracker/Udp: send ip with annouce request
Ramakrishnan Muthukrishnan [Wed, 15 Jun 2016 05:26:07 +0000 (10:56 +0530)]
Tracker/Udp: send ip with annouce request

10 years agoTracker/Udp.hs: pass a proper peer id
Ramakrishnan Muthukrishnan [Wed, 15 Jun 2016 05:01:36 +0000 (10:31 +0530)]
Tracker/Udp.hs: pass a proper peer id

10 years agoUDP tracker: refactoring, now connect succeeds
Ramakrishnan Muthukrishnan [Mon, 13 Jun 2016 15:58:31 +0000 (21:28 +0530)]
UDP tracker: refactoring, now connect succeeds

10 years agohlint fixes
Ramakrishnan Muthukrishnan [Mon, 13 Jun 2016 15:04:46 +0000 (20:34 +0530)]
hlint fixes

10 years agoUDP Tracker: connect + announce. Does not work
Ramakrishnan Muthukrishnan [Mon, 13 Jun 2016 14:47:32 +0000 (20:17 +0530)]
UDP Tracker: connect + announce. Does not work

10 years agoUDP tracker: close session function
Ramakrishnan Muthukrishnan [Sun, 12 Jun 2016 06:27:37 +0000 (11:57 +0530)]
UDP tracker: close session function

10 years agoWIP: UDP tracker, compiles
Ramakrishnan Muthukrishnan [Sun, 12 Jun 2016 04:34:21 +0000 (10:04 +0530)]
WIP: UDP tracker, compiles

10 years agofix copyright notice
Ramakrishnan Muthukrishnan [Sat, 11 Jun 2016 16:55:06 +0000 (22:25 +0530)]
fix copyright notice

10 years agostack.yaml: various optional features
Ramakrishnan Muthukrishnan [Sat, 11 Jun 2016 16:47:01 +0000 (22:17 +0530)]
stack.yaml: various optional features

10 years agoWIP: UDP tracker
Ramakrishnan Muthukrishnan [Sat, 11 Jun 2016 16:45:59 +0000 (22:15 +0530)]
WIP: UDP tracker

10 years agomisc cleanups in Http tracker
Ramakrishnan Muthukrishnan [Sat, 11 Jun 2016 16:45:36 +0000 (22:15 +0530)]
misc cleanups in Http tracker

10 years agorename LICENSE -> COPYING
Ramakrishnan Muthukrishnan [Fri, 29 Apr 2016 16:29:22 +0000 (21:59 +0530)]
rename LICENSE -> COPYING

10 years agoadd AUTHORS file
Ramakrishnan Muthukrishnan [Fri, 22 Apr 2016 17:20:31 +0000 (22:50 +0530)]
add AUTHORS file

10 years agoREADME: update the status, add some notes
Ramakrishnan Muthukrishnan [Thu, 21 Apr 2016 12:22:54 +0000 (17:52 +0530)]
README: update the status, add some notes

10 years ago*.hs: add GPLv3 License text and copyright notice
Ramakrishnan Muthukrishnan [Fri, 15 Apr 2016 17:35:36 +0000 (23:05 +0530)]
*.hs: add GPLv3 License text and copyright notice

10 years agotracker: refactor around Http and Udp (to be worked on) modules
Ramakrishnan Muthukrishnan [Thu, 10 Mar 2016 14:09:11 +0000 (19:39 +0530)]
tracker: refactor around Http and Udp (to be worked on) modules

Tracker, like the FileSystem module is also an independent thread
that responds to messages.

10 years agoTracker: refactor into http, udp and types modules
Ramakrishnan Muthukrishnan [Sat, 5 Mar 2016 14:50:56 +0000 (20:20 +0530)]
Tracker: refactor into http, udp and types modules

10 years agodata: new test torrent file
Ramakrishnan Muthukrishnan [Tue, 1 Mar 2016 15:31:09 +0000 (21:01 +0530)]
data: new test torrent file

10 years agoTracker: add UDP tracker error response parsing
Ramakrishnan Muthukrishnan [Sun, 28 Feb 2016 12:02:05 +0000 (17:32 +0530)]
Tracker: add UDP tracker error response parsing

10 years agoPeer: catchall case statement to catch any invalid msgs
Ramakrishnan Muthukrishnan [Sat, 27 Feb 2016 11:57:42 +0000 (17:27 +0530)]
Peer: catchall case statement to catch any invalid msgs

10 years agoHaveMsg: minor debug print
Ramakrishnan Muthukrishnan [Sat, 27 Feb 2016 09:33:53 +0000 (15:03 +0530)]
HaveMsg: minor debug print

10 years agoPeer.hs: handle HaveMsg
Ramakrishnan Muthukrishnan [Sat, 27 Feb 2016 09:27:35 +0000 (14:57 +0530)]
Peer.hs: handle HaveMsg

10 years agostack.yaml: bump up the lts version
Ramakrishnan Muthukrishnan [Fri, 19 Feb 2016 05:24:17 +0000 (10:54 +0530)]
stack.yaml: bump up the lts version

10 years agoTracker: remove redundant import
Ramakrishnan Muthukrishnan [Tue, 15 Dec 2015 17:31:41 +0000 (23:01 +0530)]
Tracker: remove redundant import

10 years agomain: remove redundant import
Ramakrishnan Muthukrishnan [Tue, 15 Dec 2015 17:31:21 +0000 (23:01 +0530)]
main: remove redundant import

10 years agoFileSystem: bug fix, run should run for ever
Ramakrishnan Muthukrishnan [Tue, 15 Dec 2015 17:30:56 +0000 (23:00 +0530)]
FileSystem: bug fix, run should run for ever

10 years agoFileSystem: typo updateState -> updateStats
Ramakrishnan Muthukrishnan [Tue, 15 Dec 2015 17:18:23 +0000 (22:48 +0530)]
FileSystem: typo updateState -> updateStats

10 years agoFileSystem: add read/write stats
Ramakrishnan Muthukrishnan [Tue, 15 Dec 2015 16:55:49 +0000 (22:25 +0530)]
FileSystem: add read/write stats

10 years agomain: kill FS thread on exit (revisit)
Ramakrishnan Muthukrishnan [Fri, 11 Dec 2015 16:48:39 +0000 (22:18 +0530)]
main: kill FS thread on exit (revisit)

10 years agoFileSystem: do not expose msgs outside the module, instead expose helper fns
Ramakrishnan Muthukrishnan [Fri, 11 Dec 2015 15:49:59 +0000 (21:19 +0530)]
FileSystem: do not expose msgs outside the module, instead expose helper fns

10 years agoFileSystem: encapsulate more filesystem functionality into the module
Ramakrishnan Muthukrishnan [Thu, 10 Dec 2015 13:23:21 +0000 (18:53 +0530)]
FileSystem: encapsulate more filesystem functionality into the module

10 years agonew modules FileSystem and PieceManager
Ramakrishnan Muthukrishnan [Wed, 9 Dec 2015 06:21:53 +0000 (11:51 +0530)]
new modules FileSystem and PieceManager

FileSystem module abstracts the filesystem operations for the download
and upload via a message channel that peers can send messages to.

10 years agorename tracker response function, Utils, catch exceptions.
Ramakrishnan Muthukrishnan [Sun, 6 Dec 2015 09:09:42 +0000 (14:39 +0530)]
rename tracker response function, Utils, catch exceptions.

10 years agoTracker: identify tracker protocol from the tracker server url
Ramakrishnan Muthukrishnan [Mon, 5 Oct 2015 01:36:00 +0000 (07:06 +0530)]
Tracker: identify tracker protocol from the tracker server url

10 years agoWIP: UDP tracker: send/receive request/response
Ramakrishnan Muthukrishnan [Sun, 4 Oct 2015 15:59:54 +0000 (21:29 +0530)]
WIP: UDP tracker: send/receive request/response

10 years agoWIP: udp tracker: get the peer ip, port pairs
Ramakrishnan Muthukrishnan [Sun, 4 Oct 2015 09:59:10 +0000 (15:29 +0530)]
WIP: udp tracker: get the peer ip, port pairs

10 years agoWIP: UDP Tracker support
Ramakrishnan Muthukrishnan [Sun, 4 Oct 2015 06:27:03 +0000 (11:57 +0530)]
WIP: UDP Tracker support

Add binary packet creation/parsing of the UDP request and response
packets.

10 years agoTracker: remove vestiges of the older code and module imports
Ramakrishnan Muthukrishnan [Sat, 3 Oct 2015 04:21:45 +0000 (09:51 +0530)]
Tracker: remove vestiges of the older code and module imports

10 years agoPeer: rename identifiers that are shadowing already defined identifiers
Ramakrishnan Muthukrishnan [Fri, 2 Oct 2015 10:57:57 +0000 (16:27 +0530)]
Peer: rename identifiers that are shadowing already defined identifiers

10 years agoNetwork.httpget -> Network.sendGetRequest
Ramakrishnan Muthukrishnan [Fri, 2 Oct 2015 09:15:08 +0000 (14:45 +0530)]
Network.httpget -> Network.sendGetRequest

10 years agoTracker is a separate thread now
Ramakrishnan Muthukrishnan [Fri, 2 Oct 2015 09:03:59 +0000 (14:33 +0530)]
Tracker is a separate thread now

10 years agoremove an unused type
Ramakrishnan Muthukrishnan [Fri, 2 Oct 2015 09:03:08 +0000 (14:33 +0530)]
remove an unused type

10 years agoNuke the gitter.im link, Nix insructions etc
Ramakrishnan Muthukrishnan [Tue, 29 Sep 2015 13:50:41 +0000 (19:20 +0530)]
Nuke the gitter.im link, Nix insructions etc

10 years agoversion 0.2.0
Ramakrishnan Muthukrishnan [Mon, 21 Sep 2015 09:07:57 +0000 (10:07 +0100)]
version 0.2.0

I am declaring victory and bumping up the version. The client has
come a long way, though it is far from being anywhere 'functional'.

10 years agofix hlint suggestions
Ramakrishnan Muthukrishnan [Fri, 18 Sep 2015 13:10:41 +0000 (18:40 +0530)]
fix hlint suggestions

10 years agohandle Choke, interested, notinterested, cancel and port msgs
Ramakrishnan Muthukrishnan [Fri, 18 Sep 2015 07:04:52 +0000 (12:34 +0530)]
handle Choke, interested, notinterested, cancel and port msgs

10 years agorefactor doHandshake to use pattern matching
Ramakrishnan Muthukrishnan [Fri, 18 Sep 2015 06:32:42 +0000 (12:02 +0530)]
refactor doHandshake to use pattern matching

10 years agohandshake for server and client
Ramakrishnan Muthukrishnan [Fri, 18 Sep 2015 02:58:51 +0000 (08:28 +0530)]
handshake for server and client

Earlier implementation used a wrong handhake sequence for the server.
This commit fixes it. It is untested at the moment.

10 years agorefactoring: move verifyHash to Utils module
Ramakrishnan Muthukrishnan [Thu, 17 Sep 2015 22:10:10 +0000 (03:40 +0530)]
refactoring: move verifyHash to Utils module

10 years agorefactor the piecemap initialization
Ramakrishnan Muthukrishnan [Thu, 17 Sep 2015 22:04:12 +0000 (03:34 +0530)]
refactor the piecemap initialization

Move parts of the download resume code into Main, since it avoids
duplication of some code and makes the flow, a lot more easy to
understand.

10 years agoREADME: misc indents
Ramakrishnan Muthukrishnan [Wed, 16 Sep 2015 16:00:21 +0000 (21:30 +0530)]
README: misc indents

10 years agoFileops merged into Utils module
Ramakrishnan Muthukrishnan [Wed, 16 Sep 2015 15:59:23 +0000 (21:29 +0530)]
Fileops merged into Utils module

10 years agoResume download from where it was left off last time
Ramakrishnan Muthukrishnan [Tue, 15 Sep 2015 16:11:36 +0000 (21:41 +0530)]
Resume download from where it was left off last time

This commit looks at the downloaded file, verifies the hashes of
the downloaded pieces, marks them as "have" pieces and proceeds
to download those that are not in its posession.

10 years agorefactor mkPieceMap -> initPieceMap
Ramakrishnan Muthukrishnan [Tue, 15 Sep 2015 12:07:44 +0000 (17:37 +0530)]
refactor mkPieceMap -> initPieceMap

10 years agoUse the server port number in the tracker request
Ramakrishnan Muthukrishnan [Mon, 14 Sep 2015 01:14:05 +0000 (06:44 +0530)]
Use the server port number in the tracker request

10 years agoa crude server implementation
Ramakrishnan Muthukrishnan [Sun, 13 Sep 2015 16:52:17 +0000 (22:22 +0530)]
a crude server implementation

10 years agoMain: generate random peerid
Ramakrishnan Muthukrishnan [Sun, 13 Sep 2015 14:48:07 +0000 (20:18 +0530)]
Main: generate random peerid

10 years agoremove the use of ReaderT
Ramakrishnan Muthukrishnan [Sun, 13 Sep 2015 14:47:48 +0000 (20:17 +0530)]
remove the use of ReaderT

10 years agofix hlint suggestions
Ramakrishnan Muthukrishnan [Sun, 13 Sep 2015 08:44:16 +0000 (14:14 +0530)]
fix hlint suggestions

10 years agotasty and hunit dependencies are not lib dependencies
Ramakrishnan Muthukrishnan [Sun, 13 Sep 2015 07:16:07 +0000 (12:46 +0530)]
tasty and hunit dependencies are not lib dependencies

10 years agowip: Use reader to pass around metainfo
Ramakrishnan Muthukrishnan [Sun, 13 Sep 2015 07:15:35 +0000 (12:45 +0530)]
wip: Use reader to pass around metainfo

10 years agopreparations to introduce Metainfo as an environment
Ramakrishnan Muthukrishnan [Sat, 12 Sep 2015 17:54:28 +0000 (23:24 +0530)]
preparations to introduce Metainfo as an environment

10 years agofunctorrent.cabal: avoid double compilation, one for lib, another for exe
Ramakrishnan Muthukrishnan [Fri, 11 Sep 2015 08:03:11 +0000 (13:33 +0530)]
functorrent.cabal: avoid double compilation, one for lib, another for exe

10 years agoREADME: indent usage examples
Ramakrishnan Muthukrishnan [Tue, 8 Sep 2015 11:17:54 +0000 (16:47 +0530)]
README: indent usage examples

10 years agoPeer: cosmetic indentation fixes
Ramakrishnan Muthukrishnan [Tue, 8 Sep 2015 11:17:35 +0000 (16:47 +0530)]
Peer: cosmetic indentation fixes

10 years agoremove a few reduntant stuff
Ramakrishnan Muthukrishnan [Fri, 4 Sep 2015 06:38:58 +0000 (12:08 +0530)]
remove a few reduntant stuff

10 years agoPeer: export bytesDownloaded function
Ramakrishnan Muthukrishnan [Sat, 5 Sep 2015 17:23:01 +0000 (22:53 +0530)]
Peer: export bytesDownloaded function

10 years agoPeer: function to calculate the total bytes downloaded so far
Ramakrishnan Muthukrishnan [Sat, 5 Sep 2015 17:11:47 +0000 (22:41 +0530)]
Peer: function to calculate the total bytes downloaded so far

10 years agoPeer: refactor pickPiece function
Ramakrishnan Muthukrishnan [Fri, 4 Sep 2015 06:15:39 +0000 (11:45 +0530)]
Peer: refactor pickPiece function

Use the headMay from the Safe package to get a Maybe list head and
lift fst to Maybe to get the key.

10 years agobug: initial state should be meInterested = false, heChoking = true
Ramakrishnan Muthukrishnan [Thu, 3 Sep 2015 13:42:41 +0000 (19:12 +0530)]
bug: initial state should be meInterested = false, heChoking = true

Otherwise, the "InterestedMsg" never get sent.

10 years agopeer: more refactoring. Supports all messages as before
Ramakrishnan Muthukrishnan [Thu, 3 Sep 2015 13:07:18 +0000 (18:37 +0530)]
peer: more refactoring. Supports all messages as before

10 years agoPeer: more refactoring
Ramakrishnan Muthukrishnan [Thu, 3 Sep 2015 12:34:11 +0000 (18:04 +0530)]
Peer: more refactoring

10 years agoPeer: Use Monad Transformers to simplify code
Ramakrishnan Muthukrishnan [Thu, 3 Sep 2015 11:02:49 +0000 (16:32 +0530)]
Peer: Use Monad Transformers to simplify code

Wrap PState in a State Monad. Reorganization of the code in progress.

10 years agoadd mtl, organize packages alphabetically
Ramakrishnan Muthukrishnan [Thu, 3 Sep 2015 11:02:11 +0000 (16:32 +0530)]
add mtl, organize packages alphabetically

10 years agoremove redundant module imports for ghc 7.10
Ramakrishnan Muthukrishnan [Sun, 30 Aug 2015 12:34:54 +0000 (18:04 +0530)]
remove redundant module imports for ghc 7.10

10 years agobump up the version of stackage/lts to 3.2 and use GHC 7.10.x
Ramakrishnan Muthukrishnan [Sun, 30 Aug 2015 08:59:26 +0000 (14:29 +0530)]
bump up the version of stackage/lts to 3.2 and use GHC 7.10.x

10 years agobit torrent -> BitTorrent
Ramakrishnan Muthukrishnan [Mon, 17 Aug 2015 16:37:21 +0000 (22:07 +0530)]
bit torrent -> BitTorrent

10 years agoNot using travis-ci anymore
Ramakrishnan Muthukrishnan [Sat, 15 Aug 2015 08:27:44 +0000 (13:57 +0530)]
Not using travis-ci anymore

10 years agomisc formatting
Ramakrishnan Muthukrishnan [Mon, 3 Aug 2015 14:38:03 +0000 (20:08 +0530)]
misc formatting

10 years agoNow that functorrent is becoming useful, README should be more clear
Ramakrishnan Muthukrishnan [Mon, 3 Aug 2015 14:37:34 +0000 (20:07 +0530)]
Now that functorrent is becoming useful, README should be more clear

10 years agowrite to the file name specified in the info structure
Ramakrishnan Muthukrishnan [Sun, 2 Aug 2015 15:27:28 +0000 (20:57 +0530)]
write to the file name specified in the info structure

10 years agorefactor Peer module
Ramakrishnan Muthukrishnan [Sun, 2 Aug 2015 14:47:19 +0000 (20:17 +0530)]
refactor Peer module

10 years agorefactor msgloop a bit
Ramakrishnan Muthukrishnan [Mon, 27 Jul 2015 14:41:00 +0000 (20:11 +0530)]
refactor msgloop a bit

10 years agopeer is needed only for debug print
Ramakrishnan Muthukrishnan [Mon, 27 Jul 2015 14:28:53 +0000 (19:58 +0530)]
peer is needed only for debug print