71 lines
1.8 KiB
C++
71 lines
1.8 KiB
C++
/*
|
|
* File: ControlMessage.cc
|
|
* Author: jgaebler
|
|
*
|
|
* Created on February 9, 2011, 5:48 PM
|
|
*/
|
|
|
|
#include "ControlMessage.h"
|
|
|
|
#include "Dispatcher.h"
|
|
#include "common/validator/MessageValidator.h"
|
|
#include "fd/NetworkFailureDetector.h"
|
|
|
|
namespace ubeeme {
|
|
namespace moversight {
|
|
|
|
/**
|
|
* @brief Constructor.
|
|
*/
|
|
ControlMessage::ControlMessage()
|
|
: MoversightMessage("CM", CM) {
|
|
}
|
|
|
|
/**
|
|
* @brief Destructor.
|
|
*/
|
|
ControlMessage::~ControlMessage() {
|
|
}
|
|
|
|
/**
|
|
* @brief Copy constructor.
|
|
* @param other Message to assign.
|
|
*/
|
|
ControlMessage::ControlMessage( const ControlMessage& other)
|
|
: MoversightMessage( other) {
|
|
operator=( other);
|
|
}
|
|
|
|
/**
|
|
* @brief Creates a copy of the current message.
|
|
* @return The copy of the current message.
|
|
*/
|
|
ControlMessage*
|
|
ControlMessage::dup() const {
|
|
return new ControlMessage( *this);
|
|
}
|
|
|
|
/**
|
|
* @brief Assignment operator.
|
|
* @param other The instance to assign.
|
|
* @return A reference to the local instance.
|
|
*/
|
|
ControlMessage&
|
|
ControlMessage::operator=( const ControlMessage& other){
|
|
MoversightMessage::operator=( other);
|
|
return *this;
|
|
}
|
|
|
|
/**
|
|
* @brief Handles this message. To handle a message, it has first successfully validated.
|
|
* @param dis A reference to the dispatcher, used to forward this message to the handling modules.
|
|
*/
|
|
void
|
|
ControlMessage::handleReceive( Dispatcher& dis) {
|
|
if( dis.getMessageValidator()->isValid( *this)) {
|
|
dis.getNetworkFailureDetector().handleMessage( this);
|
|
}//end if
|
|
}
|
|
}
|
|
}
|