Esempio n. 1
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);
        }
Esempio n. 2
0
 virtual public void SetOnGotResults(OnGotResults cbk)
 {
     m_onGotResults = cbk;
 }