Gnutella::PacketProcessing::PacketProcessor Class Reference

#include <PacketProcessor.h> [code]

Inherits QObject.

Inheritance diagram for Gnutella::PacketProcessing::PacketProcessor:

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

Collaboration graph
[legend]
List of all members.

Detailed Description

Todo:
Maybe hide the packet routing policies inside the PacketProcessor? Do not implement it as a filter that is explicetly added. Instead, use the PacketRouter internally accrding to the basic Gnutella routing rules.

Definition at line 60 of file PacketProcessor.h.

Public Types

typedef QSet< PacketSession * > Sessions

Public Slots

void addConnection (Connection *connection, NodeInfo nodeInfo)
void sendPacket (const Packet &)

Signals

void receivedPong (const Pong &)
void receivedPing (const Ping &)
void receivedQuery (const Query &)
void receivedQueryHits (const QueryHits &)
void receivedPush (const Push &)
void processQueryStatusRequest (const QueryStatusRequest &)

Public Member Functions

 PacketProcessor (LocalPeer *)
 ~PacketProcessor ()

Private Slots

void packetReceived (Packet &packet, PacketSession *)
void sessionClosed (PacketSession *)

Private Member Functions

 PacketProcessor (const PacketProcessor &)
PacketProcessoroperator= (const PacketProcessor &)
void notifyHandlers (Packet &packet)
void routePacket (const Packet &packet)

Private Attributes

PacketProcessorPrivated


Member Typedef Documentation

typedef QSet<PacketSession *> Gnutella::PacketProcessing::PacketProcessor::Sessions
 

Definition at line 66 of file PacketProcessor.h.


Constructor & Destructor Documentation

Gnutella::PacketProcessing::PacketProcessor::PacketProcessor const PacketProcessor  )  [private]
 

PacketProcessor::PacketProcessor LocalPeer  ) 
 

Definition at line 94 of file PacketProcessor.cpp.

PacketProcessor::~PacketProcessor  ) 
 

Definition at line 105 of file PacketProcessor.cpp.


Member Function Documentation

void PacketProcessor::addConnection Connection connection,
NodeInfo  nodeInfo
[slot]
 

Todo:
Can't we directly connect the Handshaker with the PacketProcessor? This would mean connect handshakeCompleted with addConnection. Similarly, connect PacketSession::connectionClosed to removeConnection (rename PacketProcessor::connectionClosed)

Definition at line 120 of file PacketProcessor.cpp.

void PacketProcessor::notifyHandlers Packet packet  )  [private]
 

Definition at line 232 of file PacketProcessor.cpp.

PacketProcessor& Gnutella::PacketProcessing::PacketProcessor::operator= const PacketProcessor  )  [private]
 

void PacketProcessor::packetReceived Packet packet,
PacketSession
[private, slot]
 

Definition at line 169 of file PacketProcessor.cpp.

void Gnutella::PacketProcessing::PacketProcessor::processQueryStatusRequest const QueryStatusRequest  )  [signal]
 

void Gnutella::PacketProcessing::PacketProcessor::receivedPing const Ping  )  [signal]
 

void Gnutella::PacketProcessing::PacketProcessor::receivedPong const Pong  )  [signal]
 

void Gnutella::PacketProcessing::PacketProcessor::receivedPush const Push  )  [signal]
 

void Gnutella::PacketProcessing::PacketProcessor::receivedQuery const Query  )  [signal]
 

void Gnutella::PacketProcessing::PacketProcessor::receivedQueryHits const QueryHits  )  [signal]
 

void PacketProcessor::routePacket const Packet packet  )  [private]
 

Definition at line 277 of file PacketProcessor.cpp.

void PacketProcessor::sendPacket const Packet  )  [slot]
 

Definition at line 336 of file PacketProcessor.cpp.

void PacketProcessor::sessionClosed PacketSession  )  [private, slot]
 

Definition at line 156 of file PacketProcessor.cpp.


Member Data Documentation

PacketProcessorPrivate* Gnutella::PacketProcessing::PacketProcessor::d [private]
 

Definition at line 91 of file PacketProcessor.h.


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