update20140630
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
/*
|
||||
* File: SemanticSplitValidator.cc
|
||||
* Author: jgaebler
|
||||
*
|
||||
* Created on May 12, 2011, 6:01 PM
|
||||
*/
|
||||
|
||||
#include "SemanticSplitValidator.h"
|
||||
|
||||
namespace ubeeme {
|
||||
namespace moversight {
|
||||
|
||||
/**
|
||||
* @brief Constructor
|
||||
* @param dis A reference to the moversight dispatcher.
|
||||
*/
|
||||
SemanticSplitValidator::SemanticSplitValidator( Dispatcher& dis)
|
||||
: MessageValidator(dis) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Destructor
|
||||
*/
|
||||
SemanticSplitValidator::~SemanticSplitValidator(){
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Checks, if the received interior message valid within the current group.
|
||||
* @param msg The message to validate.
|
||||
* @return True, if the received message checked as valid message within the current group, false otherwise.
|
||||
*/
|
||||
bool
|
||||
SemanticSplitValidator::isValid( const MoversightMessage& msg) const {
|
||||
return membershipService.contains( msg.getSourceID());
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Checks, if the received multicast message valid within the current view, or not (in terms of relates to the current group setting).
|
||||
* @param msg The message to validate.
|
||||
* @return True, if the received message checked as valid message within the current view, false otherwise.
|
||||
*/
|
||||
bool
|
||||
SemanticSplitValidator::isValid( const MulticastMessage& msg) const {
|
||||
if( membershipService.contains( msg.getSourceID())) {
|
||||
if( msg.getViewID() != membershipService.getViewID()) {
|
||||
if( msg.getViewID() == membershipService.getLastViewID()) {
|
||||
switch (msg.getType()) {
|
||||
case JA: return false;
|
||||
case MCA: return false;
|
||||
case SPA: return false;
|
||||
case MR: return false;
|
||||
case MC: return false;
|
||||
case MA: return false;
|
||||
case MAB: return false;
|
||||
case MFL: return false;
|
||||
case MF: return false;
|
||||
|
||||
default: return true;
|
||||
}//End switch
|
||||
}//End if
|
||||
}//End if
|
||||
else {
|
||||
//get message with current view, so we can switch do standard validator
|
||||
dispatcher.setStandardMessageValidator();
|
||||
return true;
|
||||
}//End else
|
||||
}//End if
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Checks, if the received exterior message valid within the current view, or not.
|
||||
* @param msg The message to validate.
|
||||
* @return True, if the received message checked as valid message within the current view, false otherwise.
|
||||
*/
|
||||
bool
|
||||
SemanticSplitValidator::isValid( const ExteriorMessage& msg) const {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user