summaryrefslogtreecommitdiffstats
path: root/src/options.c
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2014-08-24 01:00:45 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2014-08-24 01:00:45 +0200
commita04bcf247f4be7e3da4fe3895200f0b9709fc0bb (patch)
tree5e749b81799bb82a751ed632d91b801abe624008 /src/options.c
parentad4999488eadac3a10de99caf50b732af8b771b9 (diff)
downloadfastd-a04bcf247f4be7e3da4fe3895200f0b9709fc0bb.tar
fastd-a04bcf247f4be7e3da4fe3895200f0b9709fc0bb.zip
Merge peer config into peer structure
With this refactoring, the structure fastd_peer_config_t is merged into fastd_peer_t, and fastd_remote_config_t into fastd_remote_t. This also means we now create peers directly when reading their configurations, which significantly simplifies the whole reload process, and prepares for some future optimizations like a key hash table. Note: This commit is too big, but I couldn't come up with a nice way to split it into smaller pieces...
Diffstat (limited to 'src/options.c')
-rw-r--r--src/options.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/options.c b/src/options.c
index e3cf78a..1e7764d 100644
--- a/src/options.c
+++ b/src/options.c
@@ -117,14 +117,12 @@ static void option_config(const char *arg) {
/** Handles the --config-peer option */
static void option_config_peer(const char *arg) {
- fastd_peer_config_t *peer = fastd_peer_config_new(conf.peer_group);
+ fastd_peer_t *peer = fastd_new0(fastd_peer_t);
if(!fastd_config_read(arg, conf.peer_group, peer, 0))
exit(1);
- peer->next = ctx.peer_configs;
- ctx.peer_configs = peer;
-
+ fastd_peer_add(peer);
}
/** Handles the --config-peer-dir option */