00001 /* 00002 * Copyright 2005, 2006, Internet2 00003 * Legal conditions are in file LICENSE 00004 * (MD5 = c434f2e53b8089d8b4d0172c7ce07360). 00005 */ 00006 /** 00007 * 00008 * @file vfer_func_rel.h 00009 * @author Ivan Beschastnikh 00010 * @brief Supporting file for func_rel.c 00011 * 00012 * This file defines the prototypes and the necessary constants used 00013 * by the reliability functions implemented in func_rel.c 00014 * 00015 * - 08/21/05 ivan created 00016 */ 00017 00018 #ifndef VFER_FUNC_REL_H 00019 #define VFER_FUNC_REL_H 00020 00021 #include "vfer.h" 00022 00023 /* ratio function and constants */ 00024 00025 /* at the moment the ratio constants require a 50% !overall! 00026 * transmission rate, nothing fancy: */ 00027 #define fratio_C .5 00028 #define fratio_R 5 /* max allowed number of 00029 * possible retransmissions once we 00030 * reached a small number of missing 00031 * frags */ 00032 #define fratio_M 10 /* threshold for 'small' number of 00033 * missing frags */ 00034 00035 /* reliability function prototype */ 00036 00037 bool_t rf_always_reliable (context_t* c); 00038 bool_t rf_frag_ratio (int frag_size, int dim1, int dim2, int** mat); 00039 00040 #endif /* VFER_FUNC_REL_H */