00001 #ifndef PROTON_RECONNECT_OPTIONS_HPP
00002 #define PROTON_RECONNECT_OPTIONS_HPP
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "./internal/export.hpp"
00026 #include "./internal/pn_unique_ptr.hpp"
00027 #include "./duration.hpp"
00028 #include "./source.hpp"
00029
00030 #include <string>
00031 #include <vector>
00032
00035
00036 namespace proton {
00037
00049 class reconnect_options {
00050 public:
00052 PN_CPP_EXTERN reconnect_options();
00053
00055 PN_CPP_EXTERN reconnect_options(const reconnect_options&);
00056
00057 PN_CPP_EXTERN ~reconnect_options();
00058
00060 PN_CPP_EXTERN reconnect_options& operator=(const reconnect_options&);
00061
00064 PN_CPP_EXTERN reconnect_options& delay(duration);
00065
00068 PN_CPP_EXTERN reconnect_options& delay_multiplier(float);
00069
00072 PN_CPP_EXTERN reconnect_options& max_delay(duration);
00073
00076 PN_CPP_EXTERN reconnect_options& max_attempts(int);
00077
00081 PN_CPP_DEPRECATED("use connection_options::failover_urls()")
00082 PN_CPP_EXTERN reconnect_options& failover_urls(const std::vector<std::string>& conn_urls);
00083
00084 private:
00085 class impl;
00086 internal::pn_unique_ptr<impl> impl_;
00087
00089 friend class connection_options;
00090 friend class container;
00092 };
00093
00094 }
00095
00096 #endif // PROTON_RECONNECT_OPTIONS_HPP