reconnect_timer.hpp
#ifndef PROTON_RECONNECT_TIMER_HPP
#define PROTON_RECONNECT_TIMER_HPP
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
#include "./internal/export.hpp"
#include "./duration.hpp"
#include "./timestamp.hpp"
#include "./types.hpp"
#include <string>
namespace proton {
class reconnect_timer {
public:
PN_CPP_EXTERN reconnect_timer(uint32_t first = 0, int32_t max = -1, uint32_t increment = 100,
bool doubling = true, int32_t max_retries = -1, int32_t timeout = -1);
PN_CPP_EXTERN void reset();
PN_CPP_EXTERN int next_delay(timestamp now);
private:
duration first_delay_;
duration max_delay_;
duration increment_;
bool doubling_;
int32_t max_retries_;
duration timeout_;
int32_t retries_;
duration next_delay_;
timestamp timeout_deadline_;
};
} // proton
#endif // PROTON_RECONNECT_TIMER_HPP
types.hpp
Include the definitions of all proton types used to represent AMQP types.
proton
Type traits for mapping between AMQP and C++ types.
Definition: annotation_key.hpp:28