示例#1
0
        /// <summary>
        /// Reports about unsuccessful sending due to timeout
        /// </summary>
        /// <param name="connectionRecord">object as <see cref="ReliableUdpConnectionRecord"/></param>
        protected virtual void DisposeByTimeout(object connectionRecord)
        {
            ReliableUdpConnectionRecord record = (ReliableUdpConnectionRecord)connectionRecord;

            Debug.WriteLine("DisposeByTimer invoked for {0}", record.TransmissionId);
            if (record.AsyncResult != null)
            {
                record.AsyncResult.SetAsCompleted(false);
            }
            record.Dispose();
        }
示例#2
0
 /// <summary>
 /// Reports about successful sending
 /// </summary>
 /// <param name="connectionRecord">Current <see cref="ReliableUdpConnectionRecord"/></param>
 protected static void SetAsCompleted(ReliableUdpConnectionRecord connectionRecord)
 {
     if (connectionRecord.AsyncResult != null)
     {
         connectionRecord.AsyncResult.SetAsCompleted(true);
     }
     //RU: пока не произойдет метод EndInvoke для AsyncResult'а
     //RU: connectionRecord будет висеть в памяти, но
     //RU: можно освободить другие ресурсы
     connectionRecord.Dispose();
 }
示例#3
0
 /// <summary>
 /// Reports about error during sending
 /// </summary>
 /// <param name="connectionRecord">Current <see cref="ReliableUdpConnectionRecord"/></param>
 /// <param name="ex">The thrown-out exception</param>
 protected static void SetAsError(ReliableUdpConnectionRecord connectionRecord, Exception ex)
 {
     if (connectionRecord.AsyncResult != null)
     {
         connectionRecord.AsyncResult.SetAsCompleted(ex);
     }
     else
     {
         throw ex;
     }
     connectionRecord.Dispose();
 }
示例#4
0
 /// <summary>
 /// Reports about error during sending
 /// </summary>
 /// <param name="connectionRecord">Current <see cref="ReliableUdpConnectionRecord"/></param>
 /// <param name="ex">The thrown-out exception</param>
 protected static void SetAsError(ReliableUdpConnectionRecord connectionRecord, Exception ex)
 {
     if (connectionRecord.AsyncResult != null)
       {
     connectionRecord.AsyncResult.SetAsCompleted(ex);
       }
       else
       {
     throw ex;
       }
       connectionRecord.Dispose();
 }
示例#5
0
 /// <summary>
 /// Reports about successful sending
 /// </summary>
 /// <param name="connectionRecord">Current <see cref="ReliableUdpConnectionRecord"/></param>
 protected static void SetAsCompleted(ReliableUdpConnectionRecord connectionRecord)
 {
     if (connectionRecord.AsyncResult != null)
       {
     connectionRecord.AsyncResult.SetAsCompleted(true);
       }
       //RU: пока не произойдет метод EndInvoke для AsyncResult'а
       //RU: connectionRecord будет висеть в памяти, но
       //RU: можно освободить другие ресурсы
       connectionRecord.Dispose();
 }