protected override void OnListen() { TransportSettings innerSettings = this.transportSettings.InnerTransportSettings; this.innerListener = innerSettings.CreateListener(); this.innerListener.Closed += new EventHandler(OnInnerListenerClosed); this.innerListener.Listen(this.OnAcceptInnerTransport); }
protected ConnectionListener( Uri addressUri, AmqpSettings amqpSettings, AmqpConnectionSettings connectionSettings) { amqpSettings.ValidateListenerSettings(); this.listenAddress = addressUri; this.amqpSettings = amqpSettings; this.connectionSettings = connectionSettings; this.onAcceptTransport = this.OnAcceptTransport; TcpTransportSettings tcpSettings = new TcpTransportSettings(); tcpSettings.SetEndPoint(addressUri.Host, addressUri.Port, true); TransportListener tpListener = null; if (addressUri.Scheme.Equals(AmqpConstants.SchemeAmqps, StringComparison.OrdinalIgnoreCase)) { TlsTransportProvider tlsProvider = this.amqpSettings.GetTransportProvider<TlsTransportProvider>(); if (tlsProvider == null) { throw Fx.Exception.ArgumentNull("TlsSecurityProvider"); } Fx.Assert(tlsProvider.Settings.Certificate != null, "Must have a valid certificate."); TlsTransportSettings tlsSettings = new TlsTransportSettings(tcpSettings, false); tlsSettings.Certificate = tlsProvider.Settings.Certificate; tpListener = tlsSettings.CreateListener(); } else { tpListener = tcpSettings.CreateListener(); } this.transportListener = new AmqpTransportListener(new TransportListener[] { tpListener }, this.amqpSettings); this.onConnectionOpenComplete = new AsyncCallback(this.OnConnectionOpenComplete); }
public T Find <T>() where T : TransportListener { T t; List <TransportListener> .Enumerator enumerator = this.innerListeners.GetEnumerator(); try { while (enumerator.MoveNext()) { TransportListener current = enumerator.Current; if (typeof(T) != current.GetType()) { continue; } t = (T)current; return(t); } return(default(T)); } finally { ((IDisposable)enumerator).Dispose(); } return(t); }
void OnInnerListenerClosed(object sender, EventArgs e) { if (!this.IsClosing()) { TransportListener innerListener = (TransportListener)sender; this.TryClose(innerListener.TerminalException); } }
private void OnListenerClosed(object sender, EventArgs e) { if (!base.IsClosing()) { TransportListener transportListener = (TransportListener)sender; MessagingClientEtwProvider.TraceClient <AmqpTransportListener, TransportListener>((AmqpTransportListener source, TransportListener listener) => MessagingClientEtwProvider.Provider.EventWriteAmqpLogError(source, "OnListenerClosed", listener.ToString()), this, transportListener); base.SafeClose(transportListener.TerminalException); } }
public void Open() { int port = this.container.addressUri.Port; if (port == -1) { port = AmqpConstants.DefaultPort; } TcpTransportSettings tcpSettings = new TcpTransportSettings(); tcpSettings.TcpBacklog = 20; tcpSettings.TcpBufferSize = 4096; tcpSettings.SetEndPoint(this.container.addressUri.Host, port, true); TransportSettings transportSettings = tcpSettings; this.listener = transportSettings.CreateListener(); this.listener.Listen(this.OnAcceptTransport); }
protected override void OnListen() { this.innerListener = this.transportSettings.InnerTransportSettings.CreateListener(); this.innerListener.Closed += new EventHandler(this.OnInnerListenerClosed); this.innerListener.Listen(new Action <TransportAsyncCallbackArgs>(this.OnAcceptInnerTransport)); }
protected override void Start(TransportSettings transportSettings) { this.listener = transportSettings.CreateListener(); this.listener.Listen(this.OnAcceptTransport); }