示例#1
0
        public RemoteConnectionServer(APPLICATION_DATA appData)
        {
            try
            {
                m_AppData = appData;
                m_AppData.AddOnClosing(OnClose, APPLICATION_DATA.CLOSE_ORDER.MIDDLE);
                m_Log = (ErrorLog)m_AppData.Logger;

                m_FrameLock = new object();

                m_FrameGenerator      = (FrameGenerator)m_AppData.FrameGenerator;
                m_NumberChannels      = m_FrameGenerator.GetNumberOfPhysicalChannels();
                m_ConsumerID          = m_FrameGenerator.GetNewConsumerID();
                m_CurrentImageQ       = new ThreadSafeQueue <FRAME> [m_NumberChannels];
                m_CurrentPlateNumberQ = new ThreadSafeQueue <FRAME> [m_NumberChannels];

                m_Log = (ErrorLog)m_AppData.Logger;

                m_LocalHostPortsTable = new ThreadSafeHashTable(5);

                m_Server = new List <ConnectionServer>();
            }
            catch (Exception ex) { m_Log.Trace(ex, ErrorLog.LOG_TYPE.FATAL); }
        }