static AsyncRedisConnection()
 {
     ConnectTimeout = 1500;
     TaskScheduler.UnobservedTaskException += (sender, args) =>
     {
         StackRedisError.FireExceptionOccurredImpl(args.Exception);
         args.SetObserved();
     };
 }
        private void OnConnectionRestored()
        {
            var handler = ConnectionRestored;

            if (handler != null)
            {
                // process each individually; any fail, fine, but run all of them
                var subHandler = handler.GetInvocationList(); // (local var so I can see how many in debug)
                foreach (Action <AsyncRedisConnection> child in subHandler)
                {
                    try
                    {
                        child(this);
                    }
                    catch (Exception e)
                    {
                        StackRedisError.FireExceptionOccurredImpl(e);
                    }
                }
            }
        }