KademliaBucketEntry Class Reference

#include <KademliaNodeHandle.h>

Inheritance diagram for KademliaBucketEntry:

NodeHandle TransportAddress

List of all members.


Detailed Description

Kademlia BucketEntry.

Author:
Sebastian Mies

Bernhard Heep


Public Member Functions

 KademliaBucketEntry ()
 Constructs an unspecified NodeHandle.
 KademliaBucketEntry (const NodeHandle &handle, simtime_t rtt=MAXTIME)
 KademliaBucketEntry (const OverlayKey &key, const IPvXAddress &ip, int port)
 Complete constructor.
simtime_t getRtt () const
void setRtt (simtime_t rtt)
bool operator< (const KademliaBucketEntry &entry) const
uint8_t getStaleCount () const
void setStaleCount (uint8_t staleCount)
void resetStaleCount ()
void incStaleCount ()
void setLastSeen (simtime_t lastSeen)
simtime_t getLastSeen ()

Private Attributes

uint8_t staleCount
simtime_t lastSeen
simtime_t rtt

Friends

std::ostream & operator<< (std::ostream &os, const KademliaBucketEntry &n)

Constructor & Destructor Documentation

KademliaBucketEntry::KademliaBucketEntry (  )  [inline]

Constructs an unspecified NodeHandle.

00037     : NodeHandle()
00038     {
00039         staleCount = 0;
00040         rtt = MAXTIME;
00041     }

KademliaBucketEntry::KademliaBucketEntry ( const NodeHandle handle,
simtime_t  rtt = MAXTIME 
) [inline]

00044     : NodeHandle(handle)
00045     {
00046         staleCount = 0;
00047         this->rtt = rtt;
00048     }

KademliaBucketEntry::KademliaBucketEntry ( const OverlayKey key,
const IPvXAddress &  ip,
int  port 
) [inline]

Complete constructor.

Parameters:
key The OverlayKey
ip The IPvXAddress
port The UDP-Port
00060     : NodeHandle(key, ip, port)
00061     {
00062         staleCount = 0;
00063         rtt = MAXTIME;
00064     }


Member Function Documentation

simtime_t KademliaBucketEntry::getRtt (  )  const [inline]

void KademliaBucketEntry::setRtt ( simtime_t  rtt  )  [inline]

Referenced by Kademlia::routingAdd().

00068 { this->rtt = rtt; }

bool KademliaBucketEntry::operator< ( const KademliaBucketEntry entry  )  const [inline]

00071     {
00072         return rtt < entry.rtt;
00073     }

uint8_t KademliaBucketEntry::getStaleCount (  )  const [inline]

00075 { return staleCount; }

void KademliaBucketEntry::setStaleCount ( uint8_t  staleCount  )  [inline]

Referenced by resetStaleCount().

00078     {
00079         this->staleCount = staleCount;
00080     }

void KademliaBucketEntry::resetStaleCount (  )  [inline]

00082 { this->setStaleCount(0); }

void KademliaBucketEntry::incStaleCount (  )  [inline]

00084 { this->staleCount++; }

void KademliaBucketEntry::setLastSeen ( simtime_t  lastSeen  )  [inline]

Referenced by Kademlia::routingAdd().

00086 { this->lastSeen = lastSeen; }

simtime_t KademliaBucketEntry::getLastSeen (  )  [inline]

00088 { return this->lastSeen; }


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const KademliaBucketEntry n 
) [friend]

00098     {
00099         os << (NodeHandle)n << " " << n.rtt;
00100         return os;
00101     };


Member Data Documentation

simtime_t KademliaBucketEntry::lastSeen [private]

Referenced by getLastSeen().

simtime_t KademliaBucketEntry::rtt [private]


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

Generated on Fri Sep 19 13:05:07 2008 for ITM OverSim by  doxygen 1.5.5