m2.mbcp/src/group.h
2006-03-01 21:40:44 +00:00

48 lines
752 B
C++

#ifndef _GYR_GROUP_HOST_H
#define _GYR_GROUP_HOST_H
#include <string>
#include <list>
#include <exception>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <errno.h>
#include <unistd.h>
#include "message.h"
class eGroupNotConstructed : std::exception { };
class eGroupUnableToSend : std::exception { };
class HostId {
public:
std::string host;
int port;
};
class Group {
public:
private:
std::list<HostId> _hosts;
std::vector<sockaddr_in *> _addrs;
int _socket_desc;
short _index;
protected:
public:
Group(std::list<HostId> group, short myindex);
void sendto(Message &msg, short index);
void broadcast(Message &msg);
short getIndex();
short getCount();
};
#endif