X-Git-Url: http://git.onelab.eu/?p=distributedratelimiting.git;a=blobdiff_plain;f=drl%2Fconfig.h;h=332257362bd89e9c6f12f0c73f123b6bc55eb8d5;hp=0b202c7b825e5b2b0fabcb921e6624c1d025f72e;hb=77e70ca3ac61f5a17ba5f0222ce205ff58c9a314;hpb=d12ab8f1cd4ff135d692f7841360af70f0beb57b diff --git a/drl/config.h b/drl/config.h index 0b202c7..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; @@ -97,6 +113,14 @@ typedef struct ident_config { /** 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; @@ -164,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_ */