SOLA
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
minhton::SearchExactAlgorithmGeneral Class Referenceabstract
Inheritance diagram for minhton::SearchExactAlgorithmGeneral:
minhton::SearchExactAlgorithmInterface minhton::AlgorithmInterface minhton::MinhtonSearchExactAlgorithm

Public Member Functions

 SearchExactAlgorithmGeneral (std::shared_ptr< AccessContainer > access)
 
void process (const MessageVariant &msg) override
 
void performSearchExact (const minhton::NodeInfo &destination, std::shared_ptr< MessageSEVariant > query) override
 
- Public Member Functions inherited from minhton::SearchExactAlgorithmInterface
 SearchExactAlgorithmInterface (std::shared_ptr< AccessContainer > access)
 
- Public Member Functions inherited from minhton::AlgorithmInterface
 AlgorithmInterface (std::shared_ptr< AccessContainer > access)
 

Protected Member Functions

virtual minhton::NodeInfo calcClosestRedirect (double dest_value)=0
 
void processSearchExact (const minhton::MessageSearchExact &msg)
 
void notifyAboutFailure (const minhton::NodeInfo &destination, std::shared_ptr< MessageSEVariant > query)
 
- Protected Member Functions inherited from minhton::AlgorithmInterface
void send (const MessageVariant &msg)
 
std::shared_ptr< RoutingInformationgetRoutingInfo () const
 
NodeInfo getSelfNodeInfo () const
 

Additional Inherited Members

- Static Public Member Functions inherited from minhton::SearchExactAlgorithmInterface
static std::vector< minhton::MessageTypegetSupportedMessageTypes ()
 
- Protected Attributes inherited from minhton::AlgorithmInterface
std::shared_ptr< AccessContaineraccess_
 

Member Function Documentation

◆ calcClosestRedirect()

virtual minhton::NodeInfo minhton::SearchExactAlgorithmGeneral::calcClosestRedirect ( double  dest_value)
protectedpure virtual

◆ performSearchExact()

void minhton::SearchExactAlgorithmGeneral::performSearchExact ( const minhton::NodeInfo destination,
std::shared_ptr< MessageSEVariant >  query 
)
overridevirtual

The actual implementation of the search exact procedure.

We do not do this in the processSearchExact method because we also locally need to call this method.

Therefore processSearchExact simply calls this method.

Typical Usage:

this->performSearchExact(destination_node, query);
void performSearchExact(const minhton::NodeInfo &destination, std::shared_ptr< MessageSEVariant > query) override
Definition search_exact_algorithm_general.cpp:29
Parameters
destination_nodethe desired destination node
querythe content intended for the destination_node

Implements minhton::SearchExactAlgorithmInterface.

◆ process()

void minhton::SearchExactAlgorithmGeneral::process ( const MessageVariant &  msg)
overridevirtual

◆ processSearchExact()

void minhton::SearchExactAlgorithmGeneral::processSearchExact ( const minhton::MessageSearchExact msg)
protected

This method will be called when we receive a SEARCH_EXACT message.

A node wants to forward a message to another node, but only knows the logical position in the tree.

If we are the destination node we process the message via the recv-method. Otherwise we forward the message further.

Typical Usage:

this->processSearchExact(incoming_message);
void processSearchExact(const minhton::MessageSearchExact &msg)
Definition search_exact_algorithm_general.cpp:24
Parameters
msgthe message we received and want to process

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