public Listener(Container container) { this.container = container; this.connections = new List<AmqpConnection>(); this.settings = new AmqpSettings() { RuntimeProvider = this }; TransportProvider provider = new AmqpTransportProvider(); provider.Versions.Add(new AmqpVersion(1, 0, 0)); this.settings.TransportProviders.Add(provider); this.nodes = new Dictionary<string, List<LinkAsyncResult>>(StringComparer.OrdinalIgnoreCase); this.syncRoot = new object(); }
static void OnTransport(TransportAsyncCallbackArgs args) { OpenContainerAsyncResult thisPtr = (OpenContainerAsyncResult)args.UserToken; AmqpSettings settings = new AmqpSettings(); TransportProvider provider = new AmqpTransportProvider(); provider.Versions.Add(new AmqpVersion(1, 0, 0)); settings.TransportProviders.Add(provider); thisPtr.connection = new AmqpConnection(args.Transport, settings, new AmqpConnectionSettings() { ContainerId = thisPtr.parent.id }); thisPtr.connection.BeginOpen(TimeSpan.MaxValue, thisPtr.PrepareAsyncCompletion(onConnectionOpen), thisPtr); }