18 #ifndef _ACTIVE_TRANSPORT_FAILOVER_FAILOVERTRANSPORT_H_
19 #define _ACTIVE_TRANSPORT_FAILOVER_FAILOVERTRANSPORT_H_
40 using namespace decaf::lang;
44 class FailoverTransportListener;
45 class BackupTransportPool;
46 class FailoverTransportImpl;
57 FailoverTransportImpl* impl;
77 void reconnect(
bool rebalance);
87 void add(
bool rebalance,
const std::string& uri);
101 virtual void close();
124 virtual bool isConnected()
const;
126 virtual bool isClosed()
const;
128 bool isInitialized()
const;
130 void setInitialized(
bool value);
132 virtual Transport* narrow(
const std::type_info& typeId);
134 virtual std::string getRemoteAddress()
const;
146 virtual bool isPending()
const;
155 virtual bool iterate();
159 long long getTimeout()
const;
161 void setTimeout(
long long value);
163 long long getInitialReconnectDelay()
const;
165 void setInitialReconnectDelay(
long long value);
167 long long getMaxReconnectDelay()
const;
169 void setMaxReconnectDelay(
long long value);
171 long long getBackOffMultiplier()
const;
173 void setBackOffMultiplier(
long long value);
175 bool isUseExponentialBackOff()
const;
177 void setUseExponentialBackOff(
bool value);
179 bool isRandomize()
const;
181 void setRandomize(
bool value);
183 int getMaxReconnectAttempts()
const;
185 void setMaxReconnectAttempts(
int value);
187 int getStartupMaxReconnectAttempts()
const;
189 void setStartupMaxReconnectAttempts(
int value);
191 long long getReconnectDelay()
const;
193 void setReconnectDelay(
long long value);
195 bool isBackup()
const;
197 void setBackup(
bool value);
199 int getBackupPoolSize()
const;
201 void setBackupPoolSize(
int value);
203 bool isTrackMessages()
const;
205 void setTrackMessages(
bool value);
207 bool isTrackTransactionProducers()
const;
209 void setTrackTransactionProducers(
bool value);
211 int getMaxCacheSize()
const;
213 void setMaxCacheSize(
int value);
215 bool isReconnectSupported()
const;
217 void setReconnectSupported(
bool value);
219 bool isUpdateURIsSupported()
const;
221 void setUpdateURIsSupported(
bool value);
223 bool isRebalanceUpdateURIs()
const;
225 void setRebalanceUpdateURIs(
bool rebalanceUpdateURIs);
227 bool isPriorityBackup()
const;
229 void setPriorityBackup(
bool priorityBackup);
231 void setPriorityURIs(
const std::string& priorityURIs);
237 bool isConnectedToPriority()
const;
281 void processNewTransports(
bool rebalance, std::string newTransports);