Smuxi.Engine.XmppProtocolManager.Reconnect C# (CSharp) Method

Reconnect() private method

private Reconnect ( System.TimeSpan span ) : void
span System.TimeSpan
return void
        void Reconnect(TimeSpan span)
        {
            int delay = (int)span.TotalMilliseconds;
            if (delay <= 0) {
                Reconnect();
            }
            var builder = CreateMessageBuilder();
            builder.AppendEventPrefix();
            builder.AppendText(_("Reconnecting to {0} in {1} seconds"),
                               JabberClient.Server, span.TotalSeconds);
            Session.AddMessageToChat(Chat, builder.ToMessage());
            ThreadPool.QueueUserWorkItem(delegate {
                Thread.Sleep(delay);
                lock (this) {
                    // prevent this timer from calling connect after it has been closed
                    if (IsDisposed) {
                        return;
                    }
                    // prevent this timer from calling connect if during the timout
                    // some other event already began a connect
                    if (JabberClient.XmppConnectionState != XmppConnectionState.Disconnected) {
                        return;
                    }
                    Connect();
                }
            });
        }

Same methods

XmppProtocolManager::Reconnect ( ) : void
XmppProtocolManager::Reconnect ( Smuxi.Engine.FrontendManager fm ) : void