public virtual System.String GetSummary()
{
if (pipeIn == null)
GetReader(); // spawn parsing thread
while (true)
{
lock (this)
{
if (summary.Length >= SUMMARY_LENGTH || pipeInStream.Full())
break;
System.Threading.Monitor.Wait(this, TimeSpan.FromMilliseconds(10));
}
}
if (summary.Length > SUMMARY_LENGTH)
summary.Length = SUMMARY_LENGTH;
System.String sum = summary.ToString().Trim();
System.String tit = GetTitle();
if (sum.StartsWith(tit) || sum.Equals(""))
return tit;
else
return sum;
}