/// <summary>
/// Initialize a <see cref="DurableConnection"/> object
/// </summary>
/// <param name="retryPolicy"></param>
/// <param name="watcher"></param>
/// <param name="connectionFactory"></param>
public DurableConnection(IRetryPolicy retryPolicy, IRabbitWatcher watcher, ConnectionFactory connectionFactory)
{
if (retryPolicy == null)
{
throw new ArgumentNullException("retryPolicy");
}
if (watcher == null)
{
throw new ArgumentNullException("watcher");
}
if (connectionFactory == null)
{
throw new ArgumentNullException("connectionFactory");
}
_retryPolicy = retryPolicy;
_watcher = watcher;
_connectionFactory = ManagedConnectionFactory.CreateFromConnectionFactory(connectionFactory);
}