#ifndef DIRECTOR_HOST_H
#define DIRECTOR_HOST_H
#include "network.h"
struct director;
struct director_host {
struct ip_addr ip;
unsigned int port;
char *name;
unsigned int last_seq;
time_t last_failed;
unsigned int self:1;
};
struct director_host *
director_host_add(struct director *dir, const struct ip_addr *ip,
unsigned int port);
void director_host_free(struct director_host *host);
struct director_host *
director_host_get(struct director *dir, const struct ip_addr *ip,
unsigned int port);
struct director_host *
director_host_lookup(struct director *dir, const struct ip_addr *ip,
unsigned int port);
struct director_host *
director_host_lookup_ip(struct director *dir, const struct ip_addr *ip);
int director_host_cmp_to_self(const struct director_host *b1,
const struct director_host *b2,
const struct director_host *self);
void director_host_add_from_string(struct director *dir, const char *hosts);
#endif