#include <stdio.h>
Include dependency graph for flowlist.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Data Structures | |
| struct | flow_event |
| struct | flow_list |
Defines | |
| #define | hop_limit 50 |
Functions | |
| flow_list * | create_new_flow_event (double time, double bw) |
| void | dump_flow_list_to_file (FILE *file, struct flow_list *root) |
| void | flow_list_insert (double time, double bw, struct flow_list **root) |
| flow_event * | get_all_events (struct flow_list *root) |
| int | get_no_events (struct flow_list *root) |
|
|
Definition at line 2 of file flowlist.h. |
|
||||||||||||
|
Definition at line 5 of file flowlist.c. References flow_list::bw, flow_list::next, and flow_list::time. Referenced by flow_list_insert(). 00005 { 00006 struct flow_list *new_node; 00007 new_node = (struct flow_list*)malloc(sizeof(struct flow_list)); 00008 new_node->time = time; 00009 new_node->bw = bw; 00010 new_node->next = NULL; 00011 return(new_node); 00012 }
|
|
||||||||||||
|
Definition at line 52 of file flowlist.c. References flow_list::bw, flow_list::next, and flow_list::time. 00052 { 00053 struct flow_list *node; 00054 double total_bw = 0; 00055 for(node=root;node!=NULL;node=node->next){ 00056 total_bw+=node->bw; 00057 fprintf(file,"%lf %lf %lf\n",node->time,node->bw,total_bw); 00058 } 00059 }
|
|
||||||||||||||||
|
Definition at line 16 of file flowlist.c. References flow_list::bw, create_new_flow_event(), flow_list::next, and flow_list::time. Referenced by CBRTrafficGen(), and CBRTrafficInet(). 00016 { 00017 struct flow_list* node; 00018 struct flow_list *new_node; 00019 00020 if(*root==NULL){ 00021 new_node = create_new_flow_event(time,bw); 00022 *root = new_node; 00023 } 00024 else if((*root)->time > time){ 00025 new_node = create_new_flow_event(time,bw); 00026 new_node->next = (*root); 00027 *root = new_node; 00028 } 00029 else if((*root)->time == time){ 00030 (*root)->bw+=bw; 00031 } 00032 else{ 00033 for(node = (*root); node->next != NULL && node->next->time < time ;node = node->next); 00034 00035 if(node->next == NULL){ 00036 new_node = create_new_flow_event(time,bw); 00037 node->next = new_node; 00038 } 00039 else if(node->next->time==time){ 00040 node->next->bw += bw; 00041 } 00042 else{ 00043 new_node = create_new_flow_event(time,bw); 00044 new_node->next=node->next; 00045 node->next = new_node; 00046 } 00047 } 00048 return; 00049 }
Here is the call graph for this function: ![]() |
|
|
Definition at line 69 of file flowlist.c. References flow_list::bw, flow_event::delay, flow_event::deltaCBR, get_no_events(), flow_event::NetCBR, flow_list::next, and flow_list::time. 00069 { 00070 int NoNodes=0; 00071 int i; 00072 struct flow_event *allEvents; 00073 struct flow_list *node; 00074 00075 NoNodes = get_no_events(root); 00076 00077 allEvents = (struct flow_event*)malloc(NoNodes*sizeof(struct flow_event)); 00078 for(node=root,i=0;node!=NULL;node=node->next,i++){ 00079 allEvents[i].delay = node->time; 00080 allEvents[i].deltaCBR = node->bw; 00081 if(i==0) 00082 allEvents[i].NetCBR = node->bw; 00083 else 00084 allEvents[i].NetCBR = allEvents[i-1].NetCBR + node->bw; 00085 } 00086 return(allEvents); 00087 }
Here is the call graph for this function: ![]() |
|
|
Definition at line 62 of file flowlist.c. References flow_list::next. Referenced by get_all_events(). 00062 { 00063 int NoNodes; 00064 struct flow_list *node; 00065 for(node=root,NoNodes=0;node!=NULL;node=node->next,NoNodes++); 00066 return(NoNodes); 00067 }
|
1.4.6