예제 #1
0
 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();
 }
예제 #2
0
 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);
 }