diff options
Diffstat (limited to 'libglouglou/libggnet.c')
-rw-r--r-- | libglouglou/libggnet.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libglouglou/libggnet.c b/libglouglou/libggnet.c index e6df4bd..7367372 100644 --- a/libglouglou/libggnet.c +++ b/libglouglou/libggnet.c @@ -3,6 +3,7 @@ #include <stdio.h> #include "libggnet.h" +#include "libggnet_dns.h" static struct ggnet_nodegroup *nodegroup_add(struct ggnet *, enum ggnet_grouptype, void *, @@ -38,6 +39,7 @@ ggnet_new(int manage_connid) * * Note: Must be set before any use of ggnet */ +// XXX break API to ggnet_set_grouping() void ggnet_grouping_set(struct ggnet *net, int set, void (*cb_addgroup)(struct ggnet *, struct ggnet_nodegroup *, struct ggnet_nodegroup *), @@ -49,6 +51,20 @@ ggnet_grouping_set(struct ggnet *net, int set, } void +ggnet_set_dns(struct ggnet *net, int set, + struct event_base *ev_base, + void (*cb_nodename)(struct ggnet_node *)) +{ + net->use_dns = set; + if (set) { + net->ggdns = ggnet_dns_new(ev_base); + net->cb_nodename = cb_nodename; + } + else if (net->use_dns) + ggnet_dns_free(net->ggdns); +} + +void ggnet_debug_set(struct ggnet *net, int set) { net->debug = set; |