|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#ifndef CLIENT_H_
#define CLIENT_H_
#include "Socket.h"
#include <iostream>
#include "SocketException.h"
#include <sstream>
#include <signal.h>
#include <cstdlib>
#include <sys/time.h>
//!Argumentos de los threads
/**
\brief Este struct define los argumentos que recibe un thread abierto por la aplicación servidor al recibir una conexión entrante
\author Imanol Barba Sabariego
\date 11/06/2013 */
struct thread_args
{
//! Variable de control de la exclusión mútua entre threads
/** Esta variable se usa para bloquear otros threads en operaciones de exclusion mútua donde se modifican variables compartidas */
pthread_mutex_t *mutex;
//! Variable de notificación a otros threads
/*! \brief Esta variable se usa para notificar a otros threads cuando deben realizar otras acciones.
*Actualmente se usa para notificar al thread principal cuando el thread que lo invoca ha terminado, en caso de que el principal haya
quedado bloqueado y no admita más conexiones.* */
pthread_cond_t *condition;
//! Puntero al socket
/*! \brief Esta variable representa el puntero al socket que proviene de la conexión entrante recibida por el servidor. Con este, el thread
puede recibir y enviar los datos. */
Socket *s;
};
#endif /* CLIENT_H_ */
|