Files
scandocs/uni/masterarbeit/source/moversight/MoversightTimerSettings.h
2014-06-30 13:58:10 +02:00

81 lines
3.2 KiB
C++

/*
* File: MoversightTimerTypes.h
* Author: jgaebler
*
* Created on February 14, 2011, 10:54 AM
*/
#pragma once
#ifndef MOVERSIGHTTIMERTYPES_H
#define MOVERSIGHTTIMERTYPES_H
#include "common/Defines.h"
namespace ubeeme {
namespace moversight {
/**
* @brief Define the general settings for a timer (number of retries and so on).
*/
enum MoversightTimerSettings {
//global setting
NUMBER_OF_MAX_RETRIES = 3,
MT_NUMBER_OF_MAX_RETRIES = NUMBER_OF_MAX_RETRIES,
FD_NUMBER_OF_MAX_RETRIES = NUMBER_OF_MAX_RETRIES,
MS_NUMBER_OF_MAX_RETRIES = NUMBER_OF_MAX_RETRIES,
PD_NUMBER_OF_MAX_RETRIES = NUMBER_OF_MAX_RETRIES,
MOB_NUMBER_OF_MAX_RETRIES = 1,
MERGE_NUMBER_OF_MAX_RETRIES = NUMBER_OF_MAX_RETRIES,
SPLIT_NUMBER_OF_MAX_RETRIES = NUMBER_OF_MAX_RETRIES
};
/**
* @brief Defines the timeout for the moversight timers.
*/
enum MoversightTimeout {
#if OMNETPP
AVERAGE_DELAY = 1,
#else
AVERAGE_DELAY = 6000,
#endif
//mt
LT_TIMEOUT = AVERAGE_DELAY,
GT_TIMEOUT = LT_TIMEOUT + (LT_TIMEOUT * MT_NUMBER_OF_MAX_RETRIES) + 1,
GT_AWAIT_TIMEOUT = GT_TIMEOUT + (GT_TIMEOUT * MT_NUMBER_OF_MAX_RETRIES) + 1,
GARBAGE_TIMEOUT = GT_AWAIT_TIMEOUT + (GT_AWAIT_TIMEOUT * MT_NUMBER_OF_MAX_RETRIES) + 1,
DT_DELIVERY_TIMEOUT = GT_AWAIT_TIMEOUT + 2,
//ms
JOIN_ABORT_TO_INVITEE_TIMEOUT = (5 * AVERAGE_DELAY),
JOIN_ANNOUNCE_TIMEOUT = DT_DELIVERY_TIMEOUT + (DT_DELIVERY_TIMEOUT * MS_NUMBER_OF_MAX_RETRIES) + 1,
JOIN_ABORT_TO_INVITER_TIMEOUT = (4 * AVERAGE_DELAY),
JOIN_ABORT_TO_INVITER_TIMEOUT_MISSING_ROSTER = JOIN_ANNOUNCE_TIMEOUT + (2 * AVERAGE_DELAY),
LEAVE_ANNOUNCE_TIMEOUT = JOIN_ANNOUNCE_TIMEOUT,
//tc
SPLIT_ABORT_TIMEOUT = DT_DELIVERY_TIMEOUT + (DT_DELIVERY_TIMEOUT * SPLIT_NUMBER_OF_MAX_RETRIES) + 1,
MERGE_REJECT_TO_INVITEE_TIMEOUT = (4 * AVERAGE_DELAY),
MERGE_ABORT_TO_INVITER_GROUP_TIMEOUT = (4 * AVERAGE_DELAY),
MERGE_ABORT_TO_INVITEE_GROUP_TIMEOUT = MERGE_ABORT_TO_INVITER_GROUP_TIMEOUT + (4 * AVERAGE_DELAY * MERGE_NUMBER_OF_MAX_RETRIES),
MERGE_ABORT_TIMEOUT = DT_DELIVERY_TIMEOUT + (DT_DELIVERY_TIMEOUT * MERGE_NUMBER_OF_MAX_RETRIES) + 1,
MERGE_ROLLBACK_TIMEOUT = MERGE_ABORT_TO_INVITER_GROUP_TIMEOUT + DT_DELIVERY_TIMEOUT + (DT_DELIVERY_TIMEOUT * MERGE_NUMBER_OF_MAX_RETRIES) + 1,
//MOB
GROUP_CLOSED_CAUSED_BY_CONNECTION_LOST_TIMEOUT = LEAVE_ANNOUNCE_TIMEOUT,
REJOIN_ROSTER_REQUEST_TIMEOUT = 1,
REJOIN_TIMEOUT = 20,
AR_TIMEOUT = 5,
//ut
UT_RETRANSMIT_TIMEOUT = DT_DELIVERY_TIMEOUT + (DT_DELIVERY_TIMEOUT * NUMBER_OF_MAX_RETRIES) + 1,
//nfd
DETECTION_TIMEOUT = 8 * AVERAGE_DELAY,
PARTITION_TIMEOUT = 2 * AVERAGE_DELAY,
ND_TIMEOUT = 2 * AVERAGE_DELAY,
//rvd
RESOURCE_VALUE_TIMEOUT = 1 * AVERAGE_DELAY
};
}
}
#endif /* MOVERSIGHTTIMERTYPES_H */