libtorrent::dht::traversal_algorithm Class Reference

#include <traversal_algorithm.hpp>

Inheritance diagram for libtorrent::dht::traversal_algorithm:

libtorrent::dht::closest_nodes libtorrent::dht::find_data libtorrent::dht::refresh

List of all members.

Public Member Functions

void traverse (node_id const &id, udp::endpoint addr)
void finished (node_id const &id)
void failed (node_id const &id, bool prevent_request=false)
virtual ~traversal_algorithm ()

Protected Member Functions

template<class InIt>
 traversal_algorithm (node_id target, int branch_factor, int max_results, routing_table &table, rpc_manager &rpc, InIt start, InIt end)
void add_requests ()
void add_entry (node_id const &id, udp::endpoint addr, unsigned char flags)
virtual void done ()=0
virtual void invoke (node_id const &id, udp::endpoint addr)=0
std::vector< result >::iterator last_iterator ()

Protected Attributes

int m_ref_count
node_id m_target
int m_branch_factor
int m_max_results
std::vector< resultm_results
std::set< udp::endpointm_failed
routing_tablem_table
rpc_managerm_rpc
int m_invoke_count

Friends

void intrusive_ptr_add_ref (traversal_algorithm *p)
void intrusive_ptr_release (traversal_algorithm *p)

Classes

struct  result


Detailed Description

Definition at line 56 of file traversal_algorithm.hpp.


Constructor & Destructor Documentation

virtual libtorrent::dht::traversal_algorithm::~traversal_algorithm (  )  [inline, virtual]

Definition at line 62 of file traversal_algorithm.hpp.

template<class InIt>
libtorrent::dht::traversal_algorithm::traversal_algorithm ( node_id  target,
int  branch_factor,
int  max_results,
routing_table table,
rpc_manager rpc,
InIt  start,
InIt  end 
) [inline, protected]


Member Function Documentation

void libtorrent::dht::traversal_algorithm::traverse ( node_id const &  id,
udp::endpoint  addr 
)

Definition at line 53 of file traversal_algorithm.cpp.

References add_entry().

void libtorrent::dht::traversal_algorithm::finished ( node_id const &  id  ) 

Definition at line 58 of file traversal_algorithm.cpp.

References add_requests(), done(), and m_invoke_count.

void libtorrent::dht::traversal_algorithm::failed ( node_id const &  id,
bool  prevent_request = false 
)

void libtorrent::dht::traversal_algorithm::add_requests (  )  [protected]

void libtorrent::dht::traversal_algorithm::add_entry ( node_id const &  id,
udp::endpoint  addr,
unsigned char  flags 
) [protected]

virtual void libtorrent::dht::traversal_algorithm::done (  )  [protected, pure virtual]

virtual void libtorrent::dht::traversal_algorithm::invoke ( node_id const &  id,
udp::endpoint  addr 
) [protected, pure virtual]

std::vector< traversal_algorithm::result >::iterator libtorrent::dht::traversal_algorithm::last_iterator (  )  [protected]

Definition at line 142 of file traversal_algorithm.cpp.

References m_max_results, and m_results.

Referenced by add_requests().


Friends And Related Function Documentation

void intrusive_ptr_add_ref ( traversal_algorithm p  )  [friend]

Definition at line 96 of file traversal_algorithm.hpp.

void intrusive_ptr_release ( traversal_algorithm p  )  [friend]

Definition at line 101 of file traversal_algorithm.hpp.


Member Data Documentation

Definition at line 107 of file traversal_algorithm.hpp.

Definition at line 110 of file traversal_algorithm.hpp.

Referenced by add_requests(), and failed().

Definition at line 111 of file traversal_algorithm.hpp.

Referenced by libtorrent::dht::refresh::done(), and last_iterator().

Definition at line 113 of file traversal_algorithm.hpp.

Referenced by add_entry(), and failed().

Definition at line 114 of file traversal_algorithm.hpp.

Referenced by libtorrent::dht::closest_nodes::done(), and failed().


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

Generated on Sun May 25 00:21:48 2008 by  doxygen 1.5.6