81 lines
3.2 KiB
C++
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 */
|
|
|