Subversion Repositories shark

Compare Revisions

Regard whitespace Rev 369 → Rev 370

/shark/trunk/tracer/newtrace/udp.c
41,6 → 41,8
#include <tracer.h>
#include <unistd.h>
 
#include <kernel/kern.h>
 
#include <drivers/udpip.h>
 
#define TRACER_UDP_DEBUG
56,6 → 58,8
char local_ip[20],target_ip[20];
int socket;
 
PID udp_task;
 
extern int TracerOutputType;
 
struct tracer_udp_header {
65,7 → 69,8
unsigned int total_size;
};
 
int init_udp_tracer(char *l_ip, char *t_ip) {
//Init UDP, if flag = 1 init the network driver
int tracer_init_udp(int flag, char *l_ip, char *t_ip) {
 
SYS_FLAGS f;
76,6 → 81,8
strcpy(local_ip,l_ip);
strcpy(target_ip,t_ip);
 
if (flag) {
 
net_setmode(m, TXTASK);
net_setudpip(m, local_ip, "255.255.255.255");
 
86,6 → 93,8
 
sleep(1);
 
}
 
ip_str2addr(local_ip,&(local.s_addr));
local.s_port = TRACER_PORT+1;
socket = udp_bind(&local, NULL);
175,3 → 184,56
}
 
}
 
//Sender Task
TASK udp_sender(void *arg)
{
 
int number = (int)(arg);
 
while(1) {
 
tracer_send_logged_events(number);
tracer_flush_sent_events();
 
task_endcycle();
 
}
 
}
 
int tracer_create_udp_task(TASK_MODEL *m, int EventsForPeriod)
{
 
if (m == NULL) {
 
SOFT_TASK_MODEL st;
 
soft_task_default_model(st);
soft_task_def_arg(st,(void *)(EventsForPeriod));
soft_task_def_period(st,500000);
soft_task_def_met(st,10000);
udp_task = task_create("UDP_Sender",udp_sender,&st,NULL);
if (udp_task == NIL) {
cprintf("Error creating UDP Sender\n");
sys_end();
}
task_activate(udp_task);
 
} else {
 
udp_task = task_create("UDP_Sender",udp_sender,&m,NULL);
if (udp_task == NIL) {
cprintf("Error creating UDP Sender\n");
sys_end();
}
task_activate(udp_task);
 
}
 
return 0;
 
}