|
// Copyright (c) 2010 Daniel Wojciechowski
// E-mail: at gmail.com daniel.wojciechowski
using System;
using System.Threading;
using System.Web;
namespace HttpPushFromMsSql
{
public class CometAsyncResult:IAsyncResult
{
private bool isCompleted = false;
private bool completedSynchronously = false;
/// <summary> Some information about situation on client
/// side. Last seen record ID. This is example parameter
/// for clarification what are we waiting for. </summary>
public int LastRecId;
public DateTime StartTime;
public TimeSpan WaitTime;
/// <summary> Callback that will be called when operation is completed
/// (When we have notification about hanges, or timeout)</summary>
public AsyncCallback Callback;
public HttpContext Context;
/// <summary> True when there is notification, False if timeout </summary>
public bool Result;
/// <summary>
/// Default constructor. Can be used when request completed
/// synchronously. In this case must set CompletedSynchronously
/// to true.
/// </summary>
public CometAsyncResult()
{
}
public CometAsyncResult(HttpContext context, AsyncCallback asyncCallback, int waitTime, int lastRecId)
{
Context = context;
Callback = asyncCallback;
StartTime = DateTime.Now;
WaitTime = new TimeSpan(0, 0, waitTime);
LastRecId = lastRecId;
}
public bool IsCompleted
{
get { return isCompleted; }
set { isCompleted = value; }
}
public bool CompletedSynchronously
{
get { return completedSynchronously; }
set { completedSynchronously = value; }
}
private readonly WaitHandle asyncWaitHandle = null;
public WaitHandle AsyncWaitHandle { get { return asyncWaitHandle; } }
private readonly object asyncState=null;
public object AsyncState { get { return asyncState; } }
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I graduated from the
Jagiellonian University. After defence of master thesis (
link to presentation) I have started professional programming in C and C++ using OpenGL. After that, my Company gave me a chance to switch to .Net framework and C# and I have betrayed my passion for computer graphics. Now I'm C#, SQL and sometimes ASP.NET programmer.