static bool OnConnectionOpen(IAsyncResult result) { OpenContainerAsyncResult thisPtr = (OpenContainerAsyncResult)result.AsyncState; thisPtr.connection.EndOpen(result); return(true); }
void EnsureConnectionOpen() { if (this.connection == null) { lock (this.syncRoot) { if (this.connection == null) { this.connection = OpenContainerAsyncResult.End(new OpenContainerAsyncResult(this, null, null)); } } } }
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); }