These are chat archives for vu3rdd/functorrent

9th
May 2015
Jaseem Abid
@jaseemabid
May 09 2015 05:05
Hello @/all !
Divam
@dfordivam
May 09 2015 05:22
Hello just got gitter on my phone. And I will be back in Bangalore next week, after a month long break. So hopefully we can meet. I also need to cover up, I think I am left far behind...
Jaseem Abid
@jaseemabid
May 09 2015 05:23
Yes. That would be good.
I'll try to spend some time on peer protocol today. I think we only covered the first handshake. Lot more left
I'll get the mobile app too
Divam
@dfordivam
May 09 2015 07:58
To start with I just checked the peer response in #33
Divam
@dfordivam
May 09 2015 08:18
Next for proper peer wire communication handling I have the below suggestions:
  1. For each torrent we should have a main-control thread.
    a. To keep track of active connections.
    b. Do tracker communication and try to create new connections/ receive new connections.
    c. Allocate the active threads with work (ie what pieces they should download)
  2. Each active connection with a peer has a separate thread.
    a. An active connection can have all the four types of peers.
    b. They keep the peer specific data updated (like have pieces, peer state, etc).
    c. They do direct communication with peer, do data checking and disk IO.
    d. It shall interrupt main-control thread with the new info, and ask for what it needs to do.
    e. They keep on sending keep_alive to the peers even though they are in a choked/not-interested state.
  3. Listener thread to accept new connection
    a. This communicates with main-control thread, it can decide whether we are interested in new connection or not.
Ramakrishnan Muthukrishnan
@vu3rdd
May 09 2015 08:32
@dfordivam please have a look at the piece-manager branch. Can you please resubmit #33 on top of this branch? Perhaps we can cleanup that branch and merge it into master and work on top of it? Regarding the other points, yes, that is exactly the high level structure I had in mind.
Divam
@dfordivam
May 09 2015 08:44
Ok I think #33 is not required. So what are you planning to do next on piece-manager branch ?