m2.mbcp/src/group.h

43 lines
614 B
C
Raw Normal View History

2006-02-05 17:43:00 +00:00
#ifndef _GYR_GROUP_HOST_H
#define _GYR_GROUP_HOST_H
#include <string>
#include <list>
#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 HostId {
public:
std::string host;
int port;
};
class Group {
public:
private:
std::list<HostId> _hosts;
std::vector<sockaddr_in *> _addrs;
int _socket_desc;
2006-02-05 18:24:11 +00:00
short _index;
2006-02-05 17:43:00 +00:00
protected:
public:
2006-02-05 18:24:11 +00:00
Group(std::list<HostId> group, short myindex);
2006-02-05 17:43:00 +00:00
2006-02-05 18:24:11 +00:00
void sendto(Message &msg, short index);
2006-02-05 17:43:00 +00:00
void broadcast(Message &msg);
2006-02-05 18:24:11 +00:00
short getIndex();
2006-02-05 17:43:00 +00:00
};
#endif