public void OnStatusChange(int status, string message)
        {
            flowForm.AppendLightstreamerLog("OnStatusChange, status: " + status + ", " +
                                            message);
            flowForm.UpdateConnectionStatusLabel(message);

            if (status == 3 || status == 4)
            {
                callWaitingSubs();
                resubOnReconnect();
            }

            if (status == 0)
            {
                this.serverStatus = "DISCONNECTED";
            }
            else if (status == 1)
            {
                this.serverStatus = "CONNECTING";
            }
            else if (status == 2)
            {
                this.serverStatus = "CONNECTED";
            }
            else if (status == 3)
            {
                this.serverStatus = "STREAMING";
            }
            else if (status == 4)
            {
                this.serverStatus = "POLLING";
            }
            else if (status == 5)
            {
                this.serverStatus = "STALLED";
            }
            else
            {
                this.serverStatus = "ERROR";
            }

            int topicId;

            if (reverseTopicIdMap.TryGetValue("CONFIG", out topicId))
            {
                updateQueue.Enqueue(new RtdUpdateQueueItem(topicId, "", this.serverStatus));
                if (rtdUpdateEvent != null)
                {
                    // notify Excel that updates exist
                    // if this fails, it means that Excel is not ready
                    rtdUpdateEvent.UpdateNotify();
                    flowForm.AppendExcelLog("OnItemUpdate, Excel notified. HB interval: " + rtdUpdateEvent.HeartbeatInterval);
                }
            }
        }
 public void setUrl(string url)
 {
     this.pushServerUrl = url;
     flowForm.AppendLightstreamerLog(" ... push url: " + url);
 }