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(); }
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(); }
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)); }
void Microsoft.ServiceBus.IRelayedConnectionControl.EndConnect(IAsyncResult result) { RelayedConnectionSession.End(result); }
public ConnectAsyncResult(RelayedConnectMessage request, RelayedConnectionSession relayedConnectionSession, AsyncCallback callback, object state) : base(ConnectConstants.ConnectionInitiateTimeout, callback, state) { this.request = request; this.RelayedConnectionSession = relayedConnectionSession; }