Exemplo n.º 1
0
 public TimeoutStream(Stream innerStream, TimeSpan timeout, Tracer tracer)
 {
     _innerStream = innerStream;
     _timeout = timeout;
     _tracer = tracer;
     _timer = new Timer(_timeout.TotalMilliseconds)
     {
         AutoReset = false
     };
     _timer.Elapsed += (sender, args) =>
     {
         tracer.AsInfo("Timeout of {0} reached.".FormatWith(_timeout));
         Close();
     };
     _timer.Start();
 }