Make 'peer limit 0' allow no connections

This commit is contained in:
Matthias Schiffer 2013-03-03 18:41:36 +01:00
parent ff78f87f9b
commit 195be08c47
3 changed files with 5 additions and 3 deletions

View file

@ -125,6 +125,7 @@ static void default_config(fastd_config_t *conf) {
conf->peer_group = calloc(1, sizeof(fastd_peer_group_config_t));
conf->peer_group->name = strdup("default");
conf->peer_group->max_connections = -1;
}
static bool config_match(const char *opt, ...) {
@ -255,6 +256,7 @@ void fastd_config_bind_address(fastd_context_t *ctx, fastd_config_t *conf, const
void fastd_config_peer_group_push(fastd_context_t *ctx, fastd_config_t *conf, const char *name) {
fastd_peer_group_config_t *group = calloc(1, sizeof(fastd_peer_group_config_t));
group->name = strdup(name);
group->max_connections = -1;
group->parent = conf->peer_group;
group->next = group->parent->children;

View file

@ -151,8 +151,8 @@ struct fastd_peer_group_config {
char *name;
fastd_string_stack_t *peer_dirs;
/* contraints */
unsigned max_connections;
/* constraints */
int max_connections;
};
struct fastd_peer_group {

View file

@ -381,7 +381,7 @@ bool fastd_peer_may_connect(fastd_context_t *ctx, fastd_peer_t *peer) {
fastd_peer_group_t *group;
for (group = peer->group; group; group = group->parent) {
if (!group->conf->max_connections)
if (group->conf->max_connections < 0)
continue;
if (count_established_group_peers(ctx, group) >= group->conf->max_connections)