示例#1
0
 void CleanUp()
 {
     try
     {
         Disposing();
         LogUtility.LogUtility.LogFile(Convert.ToString(m_Id) + " *****************************destroying all******************************", LogUtility.LogLevels.LEVEL_LOG_HIGH);
         m_NonProprietarySegmentRxBuf = null;
         m_ProprietarySementRxBuf     = null;
         if (m_clientStream != null)
         {
             m_clientStream.Clear();
             m_clientStream = null;
         }
         m_ProprietarySegmentTxMutex    = null;
         m_ProprietarySegmentRxMutex    = null;
         m_NonProprietarySegmentRxMutex = null;
         m_NonProprietarySegmentTxMutex = null;
         if (m_clientTxQueue != null)
         {
             m_clientTxQueue.Clear();
             m_clientTxQueue = null;
         }
         if (m_destinationTxQueue != null)
         {
             m_destinationTxQueue.Clear();
             m_destinationTxQueue = null;
         }
         m_txStateMachine        = null;
         m_rxStateMachine        = null;
         m_destinationSideSocket = null;
         m_clientSideSocket      = null;
         LogUtility.LogUtility.LogFile("ID " + Convert.ToString(m_Id) + " m_TransmittedClient " + Convert.ToString(m_TransmittedClient) + " ReceivedClient " + Convert.ToString(m_ReceivedClient) + " TransmittedServer " + Convert.ToString(m_TransmittedServer) + " ReceivedServer " + Convert.ToString(m_ReceivedServer) + " TransmittedMsgsClient " + Convert.ToString(m_TransmittedMsgsClient) + " ReceivedMsgs " + Convert.ToString(m_ReceivedMsgs) + " SubmittedMsgsClient " + Convert.ToString(m_SubmittedMsgsClient) + " SubmittedMsgsServer " + Convert.ToString(m_SubmittedMsgsServer) + " SubmittedClient " + Convert.ToString(m_SubmittedClient) + " SubmittedServer " + Convert.ToString(m_SubmittedServer) + " Saved " + GetSaved() + " PreSaved " + GetPreSaved() + " PostSaved " + GetPostSaved(), LogUtility.LogLevels.LEVEL_LOG_HIGH);
         LogUtility.LogUtility.LogFile("ID " + Convert.ToString(m_Id) + " Timestampts: prop tx init " + GetHMSM(m_ProprietaryTxInitiatedTs) + " prop tx compl " + GetHMSM(m_ProprietaryTxCompletedTs) + " prop rx init " + GetHMSM(m_ProprietaryRxInitiatedTs) + " prop rx compl " + GetHMSM(m_ProprietaryRxCompletedTs) + " nonprop tx init " + GetHMSM(m_NonProprietaryTxInitiatedTs) + " nonprop tx compl " + GetHMSM(m_NonProprietaryTxCompletedTs) + " nonprop rx init " + GetHMSM(m_NonProprietaryRxInitiatedTs) + " nonprop rx compl " + GetHMSM(m_NonProprietaryRxCompletedTs), LogUtility.LogLevels.LEVEL_LOG_HIGH3);
         LogUtility.LogUtility.LogFile("ID " + Convert.ToString(m_Id) + " Flags: prop tx " + Convert.ToString(m_ProprietarySegmentTxInProgress) + " prop rx " + Convert.ToString(m_ProprietarySegmentRxInProgress) + " nonprop tx " + Convert.ToString(m_NonProprietarySegmentTxInProgress) + " nonprop rx " + Convert.ToString(m_NonProprietarySegmentRxInProgress), LogUtility.LogLevels.LEVEL_LOG_HIGH3);
         Disposed();
         m_disposeMutex = null;
     }
     catch (Exception exc)
     {
         LogUtility.LogUtility.LogFile(Convert.ToString(m_Id) + " EXCEPTION " + exc.Message + " " + exc.StackTrace, LogUtility.LogLevels.LEVEL_LOG_HIGH);
     }
 }
示例#2
0
        public Proxy()
        {
#if false
            m_clientTxQueue      = new Queue();
            m_destinationTxQueue = new Queue();
#else
            m_clientTxQueue           = new LinkedList <byte[]>();
            m_destinationTxQueue      = new LinkedList <byte[]>();
            m_clientTxQueueMutex      = new object();
            m_destinationTxQueueMutex = new object();
#endif
            //ProprietarySegmentTxMutex = new Mutex();
            //NonProprietarySegmentTxMutex = new Mutex();
            //ProprietarySegmentRxMutex = new Mutex();
            //NonProprietarySegmentRxMutex = new Mutex();
            m_ProprietarySegmentTxMutex    = new object();
            m_NonProprietarySegmentTxMutex = new object();
            m_ProprietarySegmentRxMutex    = new object();
            m_NonProprietarySegmentRxMutex = new object();
            m_clientStreamMutex            = new object();
            m_destinationStreamMutex       = new object();
            m_disposeMutex = new object();
            m_ProprietarySegmentTxInProgress    = false;
            m_ProprietarySegmentRxInProgress    = false;
            m_NonProprietarySegmentTxInProgress = false;
            m_NonProprietarySegmentRxInProgress = false;
            m_IsMsgBeingTransmitted2Client      = false;
            m_IsMsgBeingTransmitted2Destination = false;
            m_NonProprietarySegmentRxBuf        = new byte[8192 * 4];
            m_ProprietarySementRxBuf            = new byte[8192 * 4];
            m_rxStateMachine = new RxStateMachine(m_Id);
            m_txStateMachine = new TxStateMachine(m_Id);
            m_OnNonProprietaryReceivedCbk    = new SocketAsyncEventArgs();
            m_OnNonProprietaryTransmittedCbk = new SocketAsyncEventArgs();
            m_OnProprietaryReceivedCbk       = new SocketAsyncEventArgs();
            m_OnProprietaryTransmittedCbk    = new SocketAsyncEventArgs();

            m_OnNonProprietaryReceivedCbk.Completed    += new EventHandler <SocketAsyncEventArgs>(OnNonProprietarySegmentReceived);
            m_OnNonProprietaryTransmittedCbk.Completed += new EventHandler <SocketAsyncEventArgs>(OnNonProprietarySegmentTransmitted);
            m_OnProprietaryReceivedCbk.Completed       += new EventHandler <SocketAsyncEventArgs>(OnProprietarySegmentReceived);
            m_OnProprietaryTransmittedCbk.Completed    += new EventHandler <SocketAsyncEventArgs>(OnProprietarySegmentTransmitted);
            m_ShutDownFlag          = false;
            m_TransmittedClient     = 0;
            m_ReceivedClient        = 0;
            m_TransmittedServer     = 0;
            m_ReceivedServer        = 0;
            m_TransmittedMsgsClient = 0;
            m_ReceivedMsgs          = 0;
            m_SubmittedMsgsClient   = 0;
            m_SubmittedMsgsServer   = 0;
            m_SubmittedClient       = 0;
            m_SubmittedServer       = 0;
            m_Saved                              = 0;
            m_clientStream                       = new MyMemoryStream.MyMemoryStream();
            m_destinationStream                  = new MyMemoryStream.MyMemoryStream();
            m_onGotResults                       = null;
            m_onDisposed                         = null;
            m_clientSideDiscAsyncArgs            = new SocketAsyncEventArgs();
            m_clientSideDiscAsyncArgs.Completed += new EventHandler <SocketAsyncEventArgs>(OnClientDisconnected);
            m_ServerSideDiscAsyncArgs            = new SocketAsyncEventArgs();
            m_ServerSideDiscAsyncArgs.Completed += new EventHandler <SocketAsyncEventArgs>(OnDestinationDisconnected);
            m_InfiniteWaitTs                     = new TimeSpan(0, 0, 0, 0, -1);
            m_ImmediateReturnTs                  = new TimeSpan(0, 0, 0, 0, 0);
            m_ProprietaryRxInitiatedTs           = new DateTime();
            m_ProprietaryRxCompletedTs           = new DateTime();
            m_ProprietaryTxInitiatedTs           = new DateTime();
            m_ProprietaryTxCompletedTs           = new DateTime();
            m_NonProprietaryRxInitiatedTs        = new DateTime();
            m_NonProprietaryRxCompletedTs        = new DateTime();
            m_NonProprietaryTxInitiatedTs        = new DateTime();
            m_NonProprietaryTxCompletedTs        = new DateTime();
            LogUtility.LogUtility.LogFile("Started at " + DateTime.Now.ToLongTimeString(), LogUtility.LogLevels.LEVEL_LOG_HIGH);
        }