Gnutella::PacketProcessing::PacketRouter Class Reference

#include <PacketRouter.h> [code]

Inherits QObject.

Inheritance diagram for Gnutella::PacketProcessing::PacketRouter:

Inheritance graph
[legend]
Collaboration diagram for Gnutella::PacketProcessing::PacketRouter:

Collaboration graph
[legend]
List of all members.

Detailed Description

Todo:
Move member definitions to cpp.

There is lots of code duplication! Remove it, maybe using templates.

Definition at line 44 of file PacketRouter.h.

Public Types

typedef PacketProcessor::Sessions Paths

Public Member Functions

 PacketRouter ()
 ~PacketRouter ()
bool isDuplicate (const Packet &)
void addQueryPath (const Query &, PacketSession *)
void addQueryHitsPath (const QueryHits &, PacketSession *)
void addQueryStatusRequestPath (const Packet &, PacketSession *)
Paths queryHitsRoutePaths (const Packet &)
Paths pushRoutePaths (const Push &)
Paths queryStatusResponsePaths (const Packet &)

Private Types

typedef QSet< PacketSession * > PathSet
typedef QHash< QUuid, PathSet * > PacketPaths
typedef QPair< QUuid, QTime > Expiration
typedef QList< Expiration * > PathExpirations

Private Slots

void clearExpiredPaths ()

Private Attributes

PacketPaths queryPaths
PacketPaths queryHitsPaths
PacketPaths queryStatusRequestPaths
PathExpirations queryExpirations
PathExpirations queryHitsExpirations
PathExpirations queryStatusRequestExpirations
QTimer expirationTimer


Member Typedef Documentation

typedef QPair<QUuid, QTime> Gnutella::PacketProcessing::PacketRouter::Expiration [private]
 

Definition at line 72 of file PacketRouter.h.

typedef QHash<QUuid, PathSet *> Gnutella::PacketProcessing::PacketRouter::PacketPaths [private]
 

Definition at line 71 of file PacketRouter.h.

typedef QList<Expiration*> Gnutella::PacketProcessing::PacketRouter::PathExpirations [private]
 

Definition at line 73 of file PacketRouter.h.

typedef PacketProcessor::Sessions Gnutella::PacketProcessing::PacketRouter::Paths
 

Definition at line 49 of file PacketRouter.h.

typedef QSet<PacketSession *> Gnutella::PacketProcessing::PacketRouter::PathSet [private]
 

Definition at line 70 of file PacketRouter.h.


Constructor & Destructor Documentation

PacketRouter::PacketRouter  ) 
 

Definition at line 49 of file PacketRouter.cpp.

PacketRouter::~PacketRouter  ) 
 

Todo:
Free memory! Make a helper function clearPaths (paths, expiredOnly)

Definition at line 62 of file PacketRouter.cpp.


Member Function Documentation

void PacketRouter::addQueryHitsPath const QueryHits ,
PacketSession
 

Definition at line 107 of file PacketRouter.cpp.

void PacketRouter::addQueryPath const Query ,
PacketSession
 

Definition at line 94 of file PacketRouter.cpp.

void PacketRouter::addQueryStatusRequestPath const Packet ,
PacketSession
 

Definition at line 120 of file PacketRouter.cpp.

void PacketRouter::clearExpiredPaths  )  [private, slot]
 

Definition at line 163 of file PacketRouter.cpp.

bool PacketRouter::isDuplicate const Packet  ) 
 

Definition at line 66 of file PacketRouter.cpp.

PacketRouter::Paths PacketRouter::pushRoutePaths const Push  ) 
 

Definition at line 143 of file PacketRouter.cpp.

PacketRouter::Paths PacketRouter::queryHitsRoutePaths const Packet  ) 
 

Definition at line 133 of file PacketRouter.cpp.

PacketRouter::Paths PacketRouter::queryStatusResponsePaths const Packet  ) 
 

Definition at line 153 of file PacketRouter.cpp.


Member Data Documentation

QTimer Gnutella::PacketProcessing::PacketRouter::expirationTimer [private]
 

Definition at line 82 of file PacketRouter.h.

PathExpirations Gnutella::PacketProcessing::PacketRouter::queryExpirations [private]
 

Definition at line 79 of file PacketRouter.h.

PathExpirations Gnutella::PacketProcessing::PacketRouter::queryHitsExpirations [private]
 

Definition at line 80 of file PacketRouter.h.

PacketPaths Gnutella::PacketProcessing::PacketRouter::queryHitsPaths [private]
 

Definition at line 76 of file PacketRouter.h.

PacketPaths Gnutella::PacketProcessing::PacketRouter::queryPaths [private]
 

Definition at line 75 of file PacketRouter.h.

PathExpirations Gnutella::PacketProcessing::PacketRouter::queryStatusRequestExpirations [private]
 

Definition at line 81 of file PacketRouter.h.

PacketPaths Gnutella::PacketProcessing::PacketRouter::queryStatusRequestPaths [private]
 

Definition at line 77 of file PacketRouter.h.


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