public override bool ConnectAsync(TimeSpan timeout, TransportAsyncCallbackArgs callbackArgs)
        {
            TransportInitiator innerInitiator = this.transportSettings.CreateInitiator();

            Utils.Trace(TraceLevel.Info, "{0}: Connecting to {1}...", this, this.transportSettings);
            TransportAsyncCallbackArgs args = new TransportAsyncCallbackArgs();

            args.CompletedCallback = this.OnConnectComplete;
            args.UserToken         = callbackArgs;
            callbackArgs.CompletedSynchronously = false;
            this.timeoutHelper = new TimeoutHelper(timeout);
            innerInitiator.ConnectAsync(timeout, args);
            return(true);
        }
Exemple #2
0
        public override bool ConnectAsync(TimeSpan timeout, TransportAsyncCallbackArgs callbackArgs)
        {
            MessagingClientEtwProvider.TraceClient <AmqpTransportInitiator>((AmqpTransportInitiator source) => MessagingClientEtwProvider.Provider.EventWriteAmqpLogOperation(source, TraceOperation.Connect, source.transportSettings), this);
            TransportInitiator         transportInitiator        = this.transportSettings.CreateInitiator();
            TransportAsyncCallbackArgs transportAsyncCallbackArg = new TransportAsyncCallbackArgs()
            {
                CompletedCallback = new Action <TransportAsyncCallbackArgs>(this.OnConnectComplete),
                UserToken         = callbackArgs
            };

            callbackArgs.CompletedSynchronously = false;
            this.timeoutHelper = new TimeoutHelper(timeout);
            transportInitiator.ConnectAsync(timeout, transportAsyncCallbackArg);
            return(true);
        }
Exemple #3
0
        public override bool ConnectAsync(TimeSpan timeout, TransportAsyncCallbackArgs callbackArgs)
        {
            this.callbackArgs  = callbackArgs;
            this.timeoutHelper = new TimeoutHelper(timeout);
            TransportInitiator         transportInitiator        = this.transportSettings.InnerTransportSettings.CreateInitiator();
            TransportAsyncCallbackArgs transportAsyncCallbackArg = new TransportAsyncCallbackArgs()
            {
                CompletedCallback = new Action <TransportAsyncCallbackArgs>(TlsTransportInitiator.OnInnerTransportConnected),
                UserToken         = this
            };

            if (transportInitiator.ConnectAsync(timeout, transportAsyncCallbackArg))
            {
                return(true);
            }
            this.HandleInnerTransportConnected(transportAsyncCallbackArg);
            return(!this.callbackArgs.CompletedSynchronously);
        }
        public override bool ConnectAsync(TimeSpan timeout, TransportAsyncCallbackArgs callbackArgs)
        {
            Utils.Trace(TraceLevel.Info, "{0}: Tls initiator start connecting...", this);
            this.callbackArgs  = callbackArgs;
            this.timeoutHelper = new TimeoutHelper(timeout);
            TransportInitiator innerInitiator = this.transportSettings.InnerTransportSettings.CreateInitiator();

            TransportAsyncCallbackArgs innerArgs = new TransportAsyncCallbackArgs();

            innerArgs.CompletedCallback = OnInnerTransportConnected;
            innerArgs.UserToken         = this;
            if (innerInitiator.ConnectAsync(timeout, innerArgs))
            {
                // pending
                return(true);
            }
            else
            {
                this.HandleInnerTransportConnected(innerArgs);
                return(!this.callbackArgs.CompletedSynchronously);
            }
        }
Exemple #5
0
 protected override void Start(TransportSettings transportSettings)
 {
     this.initiator = transportSettings.CreateInitiator();
     TransportAsyncCallbackArgs args = new TransportAsyncCallbackArgs();
     args.CompletedCallback = this.OnEstablishTransport;
     if (!initiator.ConnectAsync(this.TimeoutHelper.RemainingTime(), args))
     {
         this.OnEstablishTransport(args);
     }
 }