Protocols::BitTorrent::Transfers::Transfer Class Reference

#include <Transfer.h> [code]

Inherits Protocols::BitTorrent::Transfers::TransferSessionStatus.

Inheritance diagram for Protocols::BitTorrent::Transfers::Transfer:

Inheritance graph
[legend]
Collaboration diagram for Protocols::BitTorrent::Transfers::Transfer:

Collaboration graph
[legend]
List of all members.

Detailed Description

Todo:
Use TransferSession and add it a few more state members (e.g. weAreChoked, peerIsChoked, weAreInterested, peerIsInterested), or keep such state on per PacketProcessor basis only in which case a Session * will be enough?
Todo:
start() should probably also get a FileSystem or FileProvider object which will be used to read and write file pieces from and to.
Todo:
Implement TransferSessionStatus rather then SessionStatus - we'll need directly TransferSession * in the notifications.

Definition at line 110 of file Transfer.h.

Public Member Functions

 Transfer (TrackerManager *, SessionManager *, QList< PacketProcessor * >)
void start (const Torrent &)
void stop ()
void trackerManagerFoundPeers (const QList< PeerInfo > &)
void sessionManagerEstablishedSession (TransferSession *)
void transferSessionReceivedPacket (TransferSession *, const Packet &)
void transferSessionSendingPacket (TransferSession *, const Packet &)
void transferSessionClosing (TransferSession *)
void transferSessionClosed (TransferSession *)

Private Member Functions

CALITKO_TESTABLE Transfer (const Transfer &)
Transferoperator= (const Transfer &)

Private Attributes

TrackerManagertrackerManager_
SessionManagersessionManager_
QList< PacketProcessor * > packetProcessors_


Constructor & Destructor Documentation

CALITKO_TESTABLE Protocols::BitTorrent::Transfers::Transfer::Transfer const Transfer  )  [private]
 

Transfer::Transfer TrackerManager ,
SessionManager ,
QList< PacketProcessor * > 
 

Definition at line 27 of file Transfer.cpp.


Member Function Documentation

Transfer& Protocols::BitTorrent::Transfers::Transfer::operator= const Transfer  )  [private]
 

void Transfer::sessionManagerEstablishedSession TransferSession  ) 
 

Definition at line 53 of file Transfer.cpp.

void Transfer::start const Torrent  ) 
 

Definition at line 36 of file Transfer.cpp.

void Transfer::stop  ) 
 

Definition at line 42 of file Transfer.cpp.

void Transfer::trackerManagerFoundPeers const QList< PeerInfo > &   ) 
 

Definition at line 48 of file Transfer.cpp.

void Transfer::transferSessionClosed TransferSession  )  [virtual]
 

Implements Protocols::BitTorrent::Transfers::TransferSessionStatus.

Definition at line 79 of file Transfer.cpp.

void Transfer::transferSessionClosing TransferSession  )  [virtual]
 

Implements Protocols::BitTorrent::Transfers::TransferSessionStatus.

Definition at line 73 of file Transfer.cpp.

void Transfer::transferSessionReceivedPacket TransferSession ,
const Packet
[virtual]
 

Implements Protocols::BitTorrent::Transfers::TransferSessionStatus.

Definition at line 59 of file Transfer.cpp.

void Transfer::transferSessionSendingPacket TransferSession ,
const Packet
[virtual]
 

Implements Protocols::BitTorrent::Transfers::TransferSessionStatus.

Definition at line 66 of file Transfer.cpp.


Member Data Documentation

QList<PacketProcessor *> Protocols::BitTorrent::Transfers::Transfer::packetProcessors_ [private]
 

Definition at line 140 of file Transfer.h.

SessionManager* Protocols::BitTorrent::Transfers::Transfer::sessionManager_ [private]
 

Definition at line 139 of file Transfer.h.

TrackerManager* Protocols::BitTorrent::Transfers::Transfer::trackerManager_ [private]
 

Definition at line 138 of file Transfer.h.


The documentation for this class was generated from the following files: