Gnutella::PacketProcessing::QueryRouting::QrtReader Class Reference

#include <QrtReader.h> [code]

Inherits QObject.

Inheritance diagram for Gnutella::PacketProcessing::QueryRouting::QrtReader:

Inheritance graph
[legend]
Collaboration diagram for Gnutella::PacketProcessing::QueryRouting::QrtReader:

Collaboration graph
[legend]
List of all members.

Detailed Description

Definition at line 35 of file QrtReader.h.

Signals

void qrtRead ()

Public Member Functions

 QrtReader ()
 ~QrtReader ()
bool handlePacket (const Packet &)
const QueryRoutingTablecurrentTable () const

Private Member Functions

 QrtReader (const QrtReader &)
QrtReaderoperator= (const QrtReader &)
void processReset (const QueryRoutingReset &)
void processPatch (const QueryRoutingPatch &)
void completeTableUpdate ()

Private Attributes

QrtReaderPrivatep


Constructor & Destructor Documentation

Gnutella::PacketProcessing::QueryRouting::QrtReader::QrtReader const QrtReader  )  [private]
 

QrtReader::QrtReader  ) 
 

Definition at line 61 of file QrtReader.cpp.

QrtReader::~QrtReader  ) 
 

Definition at line 68 of file QrtReader.cpp.


Member Function Documentation

void QrtReader::completeTableUpdate  )  [private]
 

Todo:
Close the connection due to invlid routing table update.
Todo:
Close connection -> Inconsistent QRT update!

Definition at line 129 of file QrtReader.cpp.

const QueryRoutingTable & QrtReader::currentTable  )  const
 

Definition at line 58 of file QrtReader.cpp.

bool QrtReader::handlePacket const Packet  ) 
 

Definition at line 73 of file QrtReader.cpp.

QrtReader& Gnutella::PacketProcessing::QueryRouting::QrtReader::operator= const QrtReader  )  [private]
 

void QrtReader::processPatch const QueryRoutingPatch patch  )  [private]
 

Todo:
Start a timer to wait for the update to complete?
Todo:
Verify that entryBits, tableSize and infinity have acceptible values!
Todo:
Do not let the table buffer become of exceeding size!

Definition at line 110 of file QrtReader.cpp.

void QrtReader::processReset const QueryRoutingReset reset  )  [private]
 

Todo:
Close connection if tableSize is excessive!
Todo:
The query routing specs state that after a reset message is received, the host is enouraged to discard the current table and forward all queries until the update is completed. That is not what we do now - instead we continue to filter the queries using the old table. Normally, it would not take long for the update to be completed.

Definition at line 94 of file QrtReader.cpp.

void Gnutella::PacketProcessing::QueryRouting::QrtReader::qrtRead  )  [signal]
 


Member Data Documentation

QrtReaderPrivate* Gnutella::PacketProcessing::QueryRouting::QrtReader::p [private]
 

Definition at line 57 of file QrtReader.h.


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