Esempio n. 1
0
        public void Success(object sender, Microsoft.ServiceBus.Channels.IConnection connection)
        {
            RelayedConnectionSession relayedConnectionSession = (RelayedConnectionSession)sender;

            MessagingClientEtwProvider.Provider.RelayListenerClientAccepted(relayedConnectionSession.Activity, this.uri.AbsoluteUri, relayedConnectionSession.Id.ToString());
            lock (this.ThisLock)
            {
                this.connectionSessions.Remove(relayedConnectionSession.Id.ToString());
            }
            this.socketQueue.EnqueueAndDispatch(connection);
            relayedConnectionSession.Close();
        }
Esempio n. 2
0
        public void Failure(object sender, Exception exception)
        {
            RelayedConnectionSession   relayedConnectionSession = (RelayedConnectionSession)sender;
            MessagingClientEventSource provider = MessagingClientEtwProvider.Provider;
            EventTraceActivity         activity = relayedConnectionSession.Activity;
            string absoluteUri = this.uri.AbsoluteUri;
            Guid   id          = relayedConnectionSession.Id;

            provider.RelayListenerClientAcceptFailed(activity, absoluteUri, id.ToString(), exception.ToString());
            lock (this.ThisLock)
            {
                this.connectionSessions.Remove(relayedConnectionSession.Id.ToString());
            }
            relayedConnectionSession.Close();
        }
Esempio n. 3
0
        IAsyncResult Microsoft.ServiceBus.IRelayedConnectionControl.BeginConnect(RelayedConnectMessage request, AsyncCallback callback, object state)
        {
            RelayedConnectionSession relayedConnectionSession;
            Guid guid = new Guid(request.Id);
            EventTraceActivity eventTraceActivity  = new EventTraceActivity(guid);
            EventTraceActivity eventTraceActivity1 = new EventTraceActivity();

            MessagingClientEtwProvider.Provider.RelayListenerRelayedConnectReceived(eventTraceActivity, this.uri.AbsoluteUri, request.Id);
            MessagingClientEtwProvider.Provider.RelayChannelConnectionTransfer(eventTraceActivity, eventTraceActivity1);
            lock (this.ThisLock)
            {
                if (this.isClosed)
                {
                    throw Fx.Exception.AsError(new FaultException(SRClient.EndpointNotFoundFault), eventTraceActivity);
                }
                if (this.connectionSessions.ContainsKey(request.Id))
                {
                    throw Fx.Exception.AsError(new FaultException(SRClient.DuplicateConnectionIDFault), eventTraceActivity);
                }
                relayedConnectionSession = new RelayedConnectionSession(this.bufferSize, this.uri, this.tokenProvider, this.socketSecurityMode, guid, this, eventTraceActivity1);
                this.connectionSessions.Add(request.Id, relayedConnectionSession);
            }
            return(relayedConnectionSession.BeginConnect(request, callback, state));
        }
Esempio n. 4
0
 void Microsoft.ServiceBus.IRelayedConnectionControl.EndConnect(IAsyncResult result)
 {
     RelayedConnectionSession.End(result);
 }
Esempio n. 5
0
 public ConnectAsyncResult(RelayedConnectMessage request, RelayedConnectionSession relayedConnectionSession, AsyncCallback callback, object state) : base(ConnectConstants.ConnectionInitiateTimeout, callback, state)
 {
     this.request = request;
     this.RelayedConnectionSession = relayedConnectionSession;
 }