public Hl7SocketListener(int port, StringStringDelegate callback, bool useSsl = false)
        {
            _useSsl = useSsl;

            try
            {
                if (port == 0)
                {
                    throw new ArgumentOutOfRangeException($"Port is 0");
                }

                _stringCallback = callback ?? throw new ArgumentNullException($"callback null");

                _listenerSocket = new MotSocket(port, callback)
                {
                    UseSsl    = UseSsl,
                    _useASCII = PreferASCII
                };
            }
            catch (Exception e)
            {
                var errString = $"An error occurred while attempting to start the HL7 Listener: {e.Message}";
                EventLogger.Error(errString);
                throw;
            }
        }
Beispiel #2
0
        ///
        /// <c>MotFileSystemListener</c>
        /// Set up listener to run as a task with a processor callback
        /// <param name="dirName">The directory to monitor</param>
        /// <param name="stringProcessor">The method to call to process files</param>
        public FilesystemListener(string dirName, StringStringDelegate stringProcessor, bool RunAsTask = true)
        {
            this.RunAsTask = RunAsTask;

            CheckDirectory(dirName);

            DirName         = dirName;
            StringProcessor = stringProcessor;
            _eventLogger    = LogManager.GetLogger("FileSystemWatcher");
        }
Beispiel #3
0
        public void Go(StringStringDelegate stringProcessor = null, string dirName = null)
        {
            if (dirName != null)
            {
                DirName = dirName;
            }

            if (stringProcessor != null)
            {
                StringProcessor = stringProcessor;
            }


            if (RunAsTask)
            {
                if (StringProcessor != null)
                {
                    var workerThread = new Thread(WaitForWork)
                    {
                        Name = "Filesystem Listener"
                    };
                    workerThread.Start();

                    //WaitForWork();
                }
                else
                {
                    throw new Exception("Missing String Processor");
                }
            }
            else
            {
                var workerThread = new Thread(WatchDirectory)
                {
                    Name = "Filesystem Listener"
                };
                workerThread.Start();

                // WatchDirectory();
            }
        }
Beispiel #4
0
 /// <summary>
 ///     <c>motSocket</c>
 ///     Constructor setting the target port as a string and setting a callback function for processing Read() data
 /// </summary>
 /// <param name="port"></param>
 /// <param name="stringArgCallback"></param>
 public MotSocket(string port, StringStringDelegate stringArgCallback = null)
 {
     StartUp(Convert.ToInt32(port), stringArgCallback);
 }
Beispiel #5
0
 /// <summary>
 ///     <c>motSocket</c>
 ///     Constructor setting the target port as an int and setting a callback function for processing Read() data
 /// </summary>
 /// <param name="port"></param>
 /// <param name="stringArgCallback"></param>
 public MotSocket(int port, StringStringDelegate stringArgCallback = null)
 {
     StartUp(port, stringArgCallback);
 }