X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fpopulation.h;h=8dc7c730c04625451ce4e881d729bc5029d4a70a;hb=9cd71de93b412bd24e5e5b512ec0b774f4123b9d;hp=d2cf2be5c5dfcbd890aa403fe907da570030211e;hpb=e32950174054cacacf4f6fdbe35269257a41e5a9;p=libpopulation.git diff --git a/src/population.h b/src/population.h index d2cf2be..8dc7c73 100644 --- a/src/population.h +++ b/src/population.h @@ -12,6 +12,9 @@ typedef int (*pi_rate_f) (const void *); typedef void *(*pi_copy_f) (const void *); typedef void (*pi_free_f) (void *); +typedef int (*pi_serialize_f) (void *, char **, size_t *); +typedef void *(*pi_unserialize_f) (char *, size_t); + /* * (Opaque) data types */ @@ -21,13 +24,21 @@ typedef struct population_s population_t; /* * Constructor and destructor */ -population_t *population_create (pi_rate_f rate, pi_copy_f copy, pi_free_f f); +population_t *population_create (pi_rate_f rate, + pi_copy_f copy, pi_free_f f); void population_destroy (population_t *p); /* * Object configuration */ int population_set_size (population_t *p, size_t population_size); +int population_set_serialization (population_t *p, + pi_serialize_f serialize, pi_unserialize_f unserialize); + +#define POPULATION_DEFAULT_PORT "46835" +int population_add_peer (population_t *p, const char *node, const char *port); +int population_start_listen_thread (population_t *p, + const char *node, const char *port); /* * Methods