diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2018-03-14 17:22:18 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2018-03-14 23:21:26 +0200 |
commit | 649a04b9deec5d111e735bc47c37adca7e76f39e (patch) | |
tree | c651192f145575fc7a49d591738f9cfc6e80e6d8 /lib/libeclat.h | |
parent | ae194ce922bff039e9003f1e84d44132aab63c3e (diff) | |
download | eclat-649a04b9deec5d111e735bc47c37adca7e76f39e.tar.gz eclat-649a04b9deec5d111e735bc47c37adca7e76f39e.tar.bz2 |
Implement exponential backoff with jitter to handle RequestLimitExceeded
* src/eclat.h (eclat_command_env) <curl>: Remove.
<xmltree>: New field.
* src/util.c (translate_ids): Close the map when no longer needed
(eclat_send_request): Implement exponential backoff.
* src/ec2map.c: Reflect the above changes.
* src/eclat.c: Likewise.
* lib/libeclat.h (eclat_request_dup): New proto.
* lib/reqcreat.c (eclat_request_dup): New function.
* src/config.c: New configuration statements: max-retry-interval and
retry-timeout.
Diffstat (limited to 'lib/libeclat.h')
-rw-r--r-- | lib/libeclat.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/libeclat.h b/lib/libeclat.h index b865e00..6f1acf6 100644 --- a/lib/libeclat.h +++ b/lib/libeclat.h @@ -1,5 +1,5 @@ /* This file is part of Eclat. - Copyright (C) 2012-2015 Sergey Poznyakoff. + Copyright (C) 2012-2018 Sergey Poznyakoff. Eclat is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -104,6 +104,7 @@ struct ec2_request { struct ec2_request *eclat_request_create(int flags, const char *endpoint, const char *uri, char const *region, char const *access_key, char const *token); +struct ec2_request *eclat_request_dup(struct ec2_request const *src); void eclat_request_free(struct ec2_request *); void eclat_request_add_param0(struct ec2_request *req, const char *name, const char *value, int encoded); |