internal virtual void RemoveThread(ServerMessageDispatcherImpl dispatcher)
 {
     lock (_dispatchers)
     {
         _dispatchers.Remove(dispatcher);
         CheckCaresAboutCommitted();
     }
     TriggerClientDisconnected(dispatcher.Name);
 }
 public void Run()
 {
     try
     {
         ISocket4 socket = this._enclosing._serverSocket.Accept();
         ServerMessageDispatcherImpl messageDispatcher = new ServerMessageDispatcherImpl(this
                                                                                         ._enclosing, new ClientTransactionHandle(this._enclosing._transactionPool), socket
                                                                                         , this._enclosing.NewThreadId(), false, threadContainer.Lock());
         this._enclosing.AddServerMessageDispatcher(messageDispatcher);
         this._enclosing.ThreadPool().Start("server message dispatcher (still initializing)"
                                            , messageDispatcher);
     }
     catch (Exception)
     {
     }
 }
 private ServerMessageDispatcherImpl FindThread(int a_threadID)
 {
     lock (_dispatchers)
     {
         IEnumerator i = _dispatchers.GetEnumerator();
         while (i.MoveNext())
         {
             ServerMessageDispatcherImpl serverThread = (ServerMessageDispatcherImpl)i.Current;
             if (serverThread._threadID == a_threadID)
             {
                 return(serverThread);
             }
         }
     }
     return(null);
 }
        internal virtual Transaction FindTransaction(int threadID)
        {
            ServerMessageDispatcherImpl dispatcher = FindThread(threadID);

            return(dispatcher == null ? null : dispatcher.Transaction());
        }
 public _IRunnable_152(ServerMessageDispatcherImpl _enclosing)
 {
     this._enclosing = _enclosing;
 }
			public void Run()
			{
				try
				{
					ISocket4 socket = this._enclosing._serverSocket.Accept();
					ServerMessageDispatcherImpl messageDispatcher = new ServerMessageDispatcherImpl(this
						._enclosing, new ClientTransactionHandle(this._enclosing._transactionPool), socket
						, this._enclosing.NewThreadId(), false, threadContainer.Lock());
					this._enclosing.AddServerMessageDispatcher(messageDispatcher);
					this._enclosing.ThreadPool().Start("server message dispatcher (still initializing)"
						, messageDispatcher);
				}
				catch (Exception)
				{
				}
			}
		internal virtual void RemoveThread(ServerMessageDispatcherImpl dispatcher)
		{
			lock (_dispatchers)
			{
				_dispatchers.Remove(dispatcher);
				CheckCaresAboutCommitted();
			}
			TriggerClientDisconnected(dispatcher.Name);
		}
			public _IRunnable_152(ServerMessageDispatcherImpl _enclosing)
			{
				this._enclosing = _enclosing;
			}