client.h 1.26 KB
#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_ */