示例#1
0
        public TSpaceState GetTSpaceState(string Url)
        {

            TSpaceState xl = new TSpaceState();

            TSpaceManager.RWL.AcquireWriterLock(Timeout.Infinite);


            xl.LockedTuplesKeys = TSLockHandler.GetKeys();
            xl.LockedTuplesValues = TSLockHandler.GetValues();


            this.UpdateView(Url);

            TSMan.AddToView(Url);

            xl.ServerView = TSMan.GetTotalView();

            xl.ProcessedRequests = TSpaceManager.ProcessedRequests;
            xl.TupleSpace = TSMan.GetTuples();


            TSpaceManager.RWL.ReleaseWriterLock();

            return xl;
        }
示例#2
0
        private TSpaceState CopyState(string Url)
        {
            TSpaceState xl = new TSpaceState();


            xl.LockedTuplesKeys   = TSLockHandler.GetKeys();
            xl.LockedTuplesValues = TSLockHandler.GetValues();

            TSMan.AddToView(Url);

            xl.ServerView = TSMan.GetTotalView();

            xl.ProcessedRequests = TSpaceAdvManager.ProcessedRequests; //its static, cant be accessed with instance
            xl.TupleSpace        = TSMan.GetTuples();

            return(xl);
        }