Ejemplo n.º 1
0
        protected virtual void MailboxWorkerMessageRecieved(object sender, MessageInfoEventArgs e)
        {
            lock ( synclock )
            {
                Total++;
                IMimeFileWorker worker = Activator.CreateInstance <Tmime>();
                worker.BeginProcessing   += new MessageInfoHandler(MimeFileWorkerBeginProcessing);
                worker.DoneProcessing    += new MessageInfoHandler(MimeFileWorkerDoneProcessing);
                worker.ProcessingError   += new MessageInfoHandler(MimeFileWorkerProcessingError);
                worker.ProcessingWarning += new MessageInfoHandler(MimeFileWorkerProcessingWarning);
                WorkPool.QueueWorkItem <string>(x => worker.Process(ConnectInfo.PathInfo, x), e.Info);
            }

            string message = string.Format("Message {0} received. ", Path.GetFileName(e.Info));

            Log(message);
        }
Ejemplo n.º 2
0
        private void QueueMessages(string directory)
        {
            string[] files = Directory.GetFiles(directory);
            if (files.Length > 0)
            {
                Log("Found one or more existing messages queued on disk.\r\nAdding them to work set.", ConsoleColor.DarkYellow, ConsoleColor.Black);

                foreach (string file in files)
                {
                    IMimeFileWorker worker = Activator.CreateInstance <Tmime>();
                    worker.BeginProcessing   += new MessageInfoHandler(MimeFileWorkerBeginProcessing);
                    worker.DoneProcessing    += new MessageInfoHandler(MimeFileWorkerDoneProcessing);
                    worker.ProcessingError   += new MessageInfoHandler(MimeFileWorkerProcessingError);
                    worker.ProcessingWarning += new MessageInfoHandler(MimeFileWorkerProcessingWarning);
                    WorkPool.QueueWorkItem <string>(x => worker.Process(ConnectInfo.PathInfo, x), file);
                }
            }
        }