示例#1
0
        void open_connection()
        {
            pending_++;
            var s = socketFactory_.create(endpoint, port, secure, verifyCertificate);

            StdErrorOut.Instance.StdOut(LogLevel.debug, "AwsHttpClient.open_connection");
            s.open
            (
                (success, reason) =>
            {
                StdErrorOut.Instance.StdOut(LogLevel.debug, "(success,  reason) = " + success);
                pending_--;
                if (success)
                {
                    lock (mutex_)
                        available_.Add(s);

                    StdErrorOut.Instance.StdOut(LogLevel.debug, "success -> available_.Add(s) ->");
                    run_tasks();
                }
                else if (endpoint != "169.254.169.254")
                {
                    StdErrorOut.Instance.StdError(string.Format("Failed to open connection to {0}:{1} : {2}", endpoint, port, reason));
                }

                // We need to explicitly reset because there is a circular reference between s and this callback.
                s.reset();
            },
                connectTimeout
            );
        }