Ejemplo n.º 1
0
            public void send(Queue <byte[]> sendData)
            {
                //Stopwatch sw = new Stopwatch(); // test

                //sw.Reset();
                //sw.Start();
                using (MutexObject.section(_mutex))
                {
                    //sw.Stop();
                    //laps.Add(sw.Elapsed.TotalMilliseconds);
                    //sw.Reset();
                    //sw.Start();
                    getMessageRange();
                    //sw.Stop();
                    //laps.Add(sw.Elapsed.TotalMilliseconds);
                    //sw.Reset();
                    //sw.Start();
                    tryRenumber();
                    //sw.Stop();
                    //laps.Add(sw.Elapsed.TotalMilliseconds);
                    //sw.Reset();
                    //sw.Start();

                    if (_gmrLastNo == -1)
                    {
                        FileTools.deletePath(_messageDir);
                        Directory.CreateDirectory(_messageDir);
                    }
                    //sw.Stop();
                    //laps.Add(sw.Elapsed.TotalMilliseconds);
                    //sw.Reset();
                    //sw.Start();
                    using (FileStream wfs = new FileStream(
                               Path.Combine(_messageDir, StringTools.zPad(_gmrLastNo + 1, 4)),
                               FileMode.Create,
                               FileAccess.Write
                               ))
                        foreach (byte[] block in sendData)
                        {
                            wfs.Write(block, 0, block.Length);
                        }
                    //sw.Stop();
                    //laps.Add(sw.Elapsed.TotalMilliseconds);
                    //sw.Reset();
                    //sw.Start();
                }
                //sw.Stop();
                //laps.Add(sw.Elapsed.TotalMilliseconds);
                //sw.Reset();
                //sw.Start();
                _messagePostEvent.set();
                //sw.Stop();
                //laps.Add(sw.Elapsed.TotalMilliseconds);
            }
Ejemplo n.º 2
0
 public void set()
 {
     lock (SYNCROOT_evForSet)
     {
         _evForSet.set();
     }
 }