fart/distrib/distrib.h
Josh Holtrop fdf34009bf using a mutex/condvar instead of a usleep to wait for listen thread to start
git-svn-id: svn://anubis/fart/trunk@225 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-04-06 17:17:04 +00:00

34 lines
844 B
C++

#ifndef DISTRIB_H
#define DISTRIB_H DISTRIB_H
#include <string>
#include <vector>
#include <pthread.h>
class distrib
{
public:
distrib();
int readHostFile(const char * filename);
int startServer();
int startClient(const char * server, int port);
int startClients(const std::vector<std::string> & client_options);
friend void distrib_server(distrib * the_distrib);
protected:
int connect(const std::string & host,
const std::vector<std::string> & client_options);
std::vector<std::string> m_hosts;
std::vector<int> m_children;
std::string m_servername;
int m_serverport;
int m_listen_socket;
pthread_t m_server_thread;
pthread_cond_t m_listen_cond;
pthread_mutex_t m_listen_mutex;
};
#endif