private void HeaderSink(HTTPSession sender, HTTPMessage header, Stream TheStream) { this._Source = sender.Source; StateData stateObject = null; if (TheStream != null) { stateObject = (StateData)sender.StateObject; object tag = stateObject.Tag; if (stateObject.HeaderCB != null) { stateObject.HeaderCB(this, sender, header, TheStream, tag); } sender.StateObject = null; KeepAliveTimer.Add(this.GetHashCode(), 10); } else { lock (this.TagQueue) { stateObject = (StateData)this.TagQueue.Dequeue(); } sender.StateObject = stateObject; object obj3 = stateObject.Tag; if (stateObject.HeaderCB != null) { stateObject.HeaderCB(this, sender, header, TheStream, obj3); if ((sender.UserStream != null) && !sender.IsChunked) { sender.StateObject = null; } } } }
private void CreateFailedSink(HTTPSession ss) { lock (TagQueue) { while (TagQueue.Count > 0) { StateData sd = (StateData)TagQueue.Dequeue(); OpenSource.Utilities.EventLogger.Log(this, System.Diagnostics.EventLogEntryType.Error, "Connection Attempt to [" + sd.Dest.ToString() + "] Refused/Failed"); object Tag = sd.Tag; if (sd.HeaderCB != null) { sd.HeaderCB(this, ss, null, null, Tag); } else { if (this.OnResponse != null) { OnResponse(this, null, Tag); } } } s = null; } }
private void CreateFailedSink(HTTPSession ss) { lock (TagQueue) { while (TagQueue.Count > 0) { StateData sd = (StateData)TagQueue.Dequeue(); EventLogger.Log(this, EventLogEntryType.Error, "Connection Attempt to [" + sd.Dest + "] Refused/Failed"); object Tag = sd.Tag; if (sd.HeaderCB != null) { sd.HeaderCB(this, ss, null, null, Tag); } else { if (OnResponse != null) { OnResponse(this, null, Tag); } } } s = null; } }
private void HeaderSink(HTTPSession sender, HTTPMessage header, Stream TheStream) { _Source = sender.Source; StateData sd = null; if (TheStream != null) { // This is the result of post-headers in a chunked document sd = (StateData)sender.StateObject; object Tag = sd.Tag; if (sd.HeaderCB != null) { sd.HeaderCB(this, sender, header, TheStream, Tag); } sender.StateObject = null; KeepAliveTimer.Add(this.GetHashCode(), 10); } else { lock (TagQueue) { sd = (StateData)TagQueue.Dequeue(); } sender.StateObject = sd; object Tag = sd.Tag; if (sd.HeaderCB != null) { sd.HeaderCB(this, sender, header, TheStream, Tag); if (sender.UserStream != null && !sender.IsChunked) { // If I don't set this to null, this holds a strong reference, resulting in // possible memory leaks sender.StateObject = null; } } } }
private void CreateFailedSink(HTTPSession ss) { lock (this.TagQueue) { while (this.TagQueue.Count > 0) { StateData data = (StateData)this.TagQueue.Dequeue(); EventLogger.Log(this, EventLogEntryType.Error, "Connection Attempt to [" + data.Dest.ToString() + "] Refused/Failed"); object tag = data.Tag; if (data.HeaderCB != null) { data.HeaderCB(this, ss, null, null, tag); } else if (this.OnResponse != null) { this.OnResponse(this, null, tag); } } this.s = null; } }