X-Git-Url: http://git.onelab.eu/?p=distributedratelimiting.git;a=blobdiff_plain;f=drl%2Fconfig.h;h=332257362bd89e9c6f12f0c73f123b6bc55eb8d5;hp=82e6e1fccb76fd293a53c1613002cda52990a603;hb=77e70ca3ac61f5a17ba5f0222ce205ff58c9a314;hpb=f83340496f632165030cc92cd98408a87082f6b1 diff --git a/drl/config.h b/drl/config.h index 82e6e1f..3322573 100644 --- a/drl/config.h +++ b/drl/config.h @@ -69,6 +69,22 @@ typedef struct ident_config { /** The gossip branch factor (when commfabric is COMM_GOSSIP). */ int branch; + /** The gossip group membership policy (SWIM, ZOOKEEPER). */ + enum memberships membership; + + /** The behavioral policy to use when one or more failures in group + * membership are detected. */ + enum failure_behaviors failure_behavior; + +#ifdef BUILD_ZOOKEEPER + + /** The host string that should be passed to zookeeper_init when using + * zookeeper. This consists of comma-separated ipaddr:port pairs. Example: + * "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002" */ + char *zk_host; + +#endif + /** The flow accounting mechanism to be used by this identity. */ enum accountings accounting; @@ -91,9 +107,20 @@ typedef struct ident_config { /** The number of peers. */ int peer_count; + /** If this is set, the node goes under the root rather than machine nodes. */ + int independent; + /** List of the identity's members (type IDENT_SET only). */ ident_member *members; + /** If NM is setting up the hierarchy for us, this is the htb node to use + * for this identity. */ + int htb_node; + + /** If NM is setting up the hierarchy for us, this is the htb parent node + * to use for this identity. */ + int htb_parent; + /** Pointer to the next ident in the list or NULL if this is the last. */ struct ident_config *next; } ident_config; @@ -161,4 +188,6 @@ int parse_drl_config(const char *configfile, parsed_configs *configs); * allocation fails, or 1 if the cause of the error is unclear. */ int get_eligible_leaves(struct drl_instance *instance); +int parse_leaves(struct drl_instance *instance, char *leafstring); + #endif /* _DRL_CONFIG_ */