Beispiel #1
0
        public IDictionary <TKey, TValue> GetAll(ICollection <TKey> keys)
        {
            var partitionToKeyData = GetPartitionKeyData(keys);

            var result = new Dictionary <TKey, TValue>();

            if (_nearCache != null)
            {
                // remove items from list which are already found in the cache
                foreach (var kvp in partitionToKeyData)
                {
                    var list = kvp.Value;
                    for (var i = list.Count - 1; i >= 0; i--)
                    {
                        var keyData = kvp.Value[i];
                        var cached  = _nearCache.Get(keyData);
                        if (cached != null && cached != ClientNearCache.NullObject)
                        {
                            list.RemoveAt(i);
                            result.Add(ToObject <TKey>(keyData), (TValue)cached);
                        }
                    }
                }
            }

            var invocationService = GetContext().GetInvocationService();
            var futures           = new List <IFuture <IClientMessage> >(partitionToKeyData.Count);

            foreach (var kvp in partitionToKeyData)
            {
                if (kvp.Value.Count > 0)
                {
                    var request = MapGetAllCodec.EncodeRequest(GetName(), kvp.Value);
                    futures.Add(invocationService.InvokeOnPartition(request, kvp.Key));
                }
            }
            var messages = ThreadUtil.GetResult(futures);

            foreach (var clientMessage in messages)
            {
                var items = MapGetAllCodec.DecodeResponse(clientMessage).entrySet;
                foreach (var entry in items)
                {
                    var key   = ToObject <TKey>(entry.Key);
                    var value = ToObject <TValue>(entry.Value);
                    result.Add(key, value);
                    if (_nearCache != null)
                    {
                        _nearCache.Put(entry.Key, value);
                    }
                }
            }
            return(result);
        }
Beispiel #2
0
        private static Action <FirstCommand> FirstCommandConsumer(FirstCommand message)
        {
            return(command =>
            {
                ThreadUtil.Sleep(10.Milliseconds());

                var response = new FirstResponse(command.CorrelationId);

                CurrentMessage.Respond(response);
            });
        }
Beispiel #3
0
        /// <inheritdoc />
        public override void UnsafeDestroy()
        {
            ThreadUtil.assertIsGameThread();
            if (!BarricadeManager.tryGetInfo(Model, out var x, out var y, out var plant, out var index,
                                             out var bRegion))
            {
                return;
            }

            BarricadeManager.destroyBarricade(bRegion, x, y, plant, index);
        }
Beispiel #4
0
        private void TestDeleteExplanationItems(IELearningLabController eLearningLab)
        {
            eLearningLab.Delete();
            eLearningLab.Sync();
            Slide expSlide = PpOperations.SelectSlide(TestDeleteExplanationItemSlideNo);

            ThreadUtil.WaitFor(1000);
            Slide actualSlide = PpOperations.SelectSlide(ExpectedDeleteExplanationItemSlideNo);

            SlideUtil.IsSameLooking(expSlide, actualSlide, similarityTolerance: 0.95);
        }
Beispiel #5
0
 private static void TestGenerateVisualAgendaWithSlideNumbers()
 {
     PpOperations.ShowAllSlideNumbers();
     MessageBoxUtil.ExpectMessageBoxWillPopUp(AgendaExistsTitle, AgendaExistsContent,
                                              PplFeatures.GenerateVisualAgenda, buttonNameToClick: "OK");
     ThreadUtil.WaitFor(10000);
     System.Collections.Generic.List <TestInterface.ISlideData> actualSlides   = PpOperations.FetchCurrentPresentationData();
     System.Collections.Generic.List <TestInterface.ISlideData> expectedSlides = PpOperations.FetchPresentationData(
         PathUtil.GetDocTestPresentationPath("AgendaLab\\AgendaSlidesVisualWithSlideNumberDefault.pptx"));
     PresentationUtil.AssertEqual(expectedSlides, actualSlides);
 }
        Action <FirstCommand> FirstCommandConsumer(FirstCommand message)
        {
            return(command =>
            {
                ThreadUtil.Sleep(10.Milliseconds());

                var response = new FirstResponse(command.CorrelationId);

                LocalBus.Context().Respond(response);
            });
        }
Beispiel #7
0
        /// <exception cref="System.Exception"></exception>
        public virtual bool TryLock(TKey key, long timeout, TimeUnit timeunit, long leaseTime, TimeUnit leaseUnit)
        {
            ValidationUtil.ThrowExceptionIfNull(key);

            var keyData = ToData(key);
            var request = MultiMapTryLockCodec.EncodeRequest(GetName(), keyData, ThreadUtil.GetThreadId(),
                                                             leaseUnit.ToMillis(leaseTime),
                                                             timeunit.ToMillis(timeout), _lockReferenceIdGenerator.GetNextReferenceId());

            return(Invoke(request, keyData, m => MultiMapTryLockCodec.DecodeResponse(m).response));
        }
Beispiel #8
0
        private void ManagerAuthenticator(ClientConnection connection)
        {
            Logger.Finest("Authenticating against the owner node");
            var ss = _client.GetSerializationService();

            string uuid      = null;
            string ownerUuid = null;

            if (_principal != null)
            {
                uuid      = _principal.GetUuid();
                ownerUuid = _principal.GetOwnerUuid();
            }
            ClientMessage request;

            if (_credentials is UsernamePasswordCredentials)
            {
                var usernamePasswordCr = (UsernamePasswordCredentials)_credentials;
                request = ClientAuthenticationCodec.EncodeRequest(usernamePasswordCr.GetUsername(),
                                                                  usernamePasswordCr.GetPassword(), uuid, ownerUuid, true,
                                                                  ClientTypes.Csharp, _client.GetSerializationService().GetVersion());
            }
            else
            {
                var data = ss.ToData(_credentials);
                request = ClientAuthenticationCustomCodec.EncodeRequest(data, uuid, ownerUuid, false,
                                                                        ClientTypes.Csharp, _client.GetSerializationService().GetVersion());
            }

            IClientMessage response;

            try
            {
                var invocationService = (ClientInvocationService)_client.GetInvocationService();
                response = ThreadUtil.GetResult(invocationService.InvokeOnConnection(request, connection));
            }
            catch (Exception e)
            {
                throw ExceptionUtil.Rethrow(e);
            }
            var result = ClientAuthenticationCodec.DecodeResponse(response);

            if (result.address == null)
            {
                throw new HazelcastException("Could not resolve address for owner node.");
            }

            var member = new Member(result.address, result.ownerUuid);

            _principal = new ClientPrincipal(result.uuid, result.ownerUuid);

            connection.Member = member;
            connection.SetOwner();
        }
Beispiel #9
0
 protected ClientMessage InvokeOnPartition(ClientMessage request, int partitionId)
 {
     try
     {
         var task = Client.InvocationService.InvokeOnPartitionOwner(request, partitionId);
         return(ThreadUtil.GetResult(task));
     }
     catch (Exception e)
     {
         throw ExceptionUtil.Rethrow(e);
     }
 }
Beispiel #10
0
 protected ClientMessage InvokeOnTarget(ClientMessage request, Guid target)
 {
     try
     {
         var task = Client.InvocationService.InvokeOnTarget(request, target);
         return(ThreadUtil.GetResult(task));
     }
     catch (Exception e)
     {
         throw ExceptionUtil.Rethrow(e);
     }
 }
Beispiel #11
0
        protected virtual Task <TValue> PutAsyncInternal(IData keyData, TValue value, long ttl, TimeUnit timeunit)
        {
            var valueData = ToData(value);
            var request   =
                MapPutCodec.EncodeRequest(GetName(), keyData, valueData, ThreadUtil.GetThreadId(), timeunit.ToMillis(ttl));

            return(InvokeAsync(request, keyData, m =>
            {
                var response = MapPutCodec.DecodeResponse(m).response;
                return ToObject <TValue>(response);
            }));
        }
Beispiel #12
0
        public virtual Task <TValue> GetAsync(TKey key)
        {
            ValidationUtil.CheckNotNull(key, ValidationUtil.NULL_KEY_IS_NOT_ALLOWED);
            var keyData = ToData(key);
            var request = MapGetCodec.EncodeRequest(GetName(), keyData, ThreadUtil.GetThreadId());

            return(InvokeAsync(request, keyData, m =>
            {
                var resp = MapGetCodec.DecodeResponse(m).response;
                return ToObject <TValue>(resp);
            }));
        }
Beispiel #13
0
 protected IClientMessage InvokeOnPartition(IClientMessage request, int partitionId)
 {
     try
     {
         var task = GetContext().GetInvocationService().InvokeOnPartition(request, partitionId);
         return(ThreadUtil.GetResult(task));
     }
     catch (Exception e)
     {
         throw ExceptionUtil.Rethrow(e);
     }
 }
Beispiel #14
0
 public async Task RunOnStaThreadAsync()
 {
     Assert.Equal(1520, await ThreadUtil.RunOnStaThreadAsync(async() =>
     {
         Assert.Equal(ApartmentState.STA, Thread.CurrentThread.GetApartmentState());
         var id = Thread.CurrentThread.ManagedThreadId;
         await Task.Yield();
         Assert.Equal(ApartmentState.STA, Thread.CurrentThread.GetApartmentState());
         Assert.Equal(Thread.CurrentThread.ManagedThreadId, id);
         return(1520);
     }));
 }
 public void StopAllInOtherThread()
 {
     if (_opertaionThread != null)
     {
         if (_opertaionThread.ThreadState == ThreadState.Running || _opertaionThread.ThreadState == ThreadState.WaitSleepJoin)
         {
             return;
         }
     }
     _opertaionThread = ThreadUtil.GetThread(StopAll);
     _opertaionThread.Start();
 }
 private void btnGenerate_Click(object sender, EventArgs e)
 {
     if (!MyDialog.confirm("Do you want to generate stickers?"))
     {
         return;
     }
     progressBar.Show();
     ThreadUtil.InvokeAsync(this, (f) =>
     {
         generateStickers();
     });
 }
Beispiel #17
0
        public void Should_not_remove_any_existing_subscriptions()
        {
            RemoteBus.SubscribeHandler <A>(x => { });

            RemoteBus.ShouldHaveSubscriptionFor <A>();
            LocalBus.ShouldHaveRemoteSubscriptionFor <A>();

            RemoteBus.Dispose();

            ThreadUtil.Sleep(2.Seconds());
            LocalBus.ShouldHaveRemoteSubscriptionFor <A>();
        }
Beispiel #18
0
        public void Should_properly_serialize_a_response()
        {
            var actor = AnonymousActor.New(inbox =>
            {
                _channel.Respond(new Test
                {
                    Name = "Magic"
                }, "21");
            });

            ThreadUtil.Sleep(1.Seconds());
        }
        private void PasteAtCursorPosition(int originalSlideNo, int expSlideNo)
        {
            Microsoft.Office.Interop.PowerPoint.ShapeRange shapes = GetShapesByPrefix(originalSlideNo, ShapeToCopyPrefix);
            shapes.Cut();

            RightClick(GetShapesByPrefix(originalSlideNo, ShapeToClick)[1]);
            // wait for awhile for click to register properly
            ThreadUtil.WaitFor(500);
            PplFeatures.PasteAtCursorPosition();

            AssertIsSame(originalSlideNo, expSlideNo);
        }
        public Task <V> RemoveAsync(K key)
        {
            var keyData = ToData(key);
            var request = MapRemoveAsyncCodec.EncodeRequest(GetName(), keyData, ThreadUtil.GetThreadId());

            InvalidateNearCacheEntry(keyData);
            return(InvokeAsync(request, keyData, m =>
            {
                var response = MapRemoveAsyncCodec.DecodeResponse(m).response;
                return ToObject <V>(response);
            }));
        }
Beispiel #21
0
 public void DropMultiple(int Count)
 {
     ThreadUtil.SafeQueueWorkItem(new ThreadStart(() =>
     {
         for (int counter = 0; counter <= Count; counter++)
         {
             var c = Random.Next(65, 90);
             var x = Random.Next(1, 128 - _font.CharWidth((char)c));
             SingleDrop(x, (char)c);
         }
     }));
 }
Beispiel #22
0
 protected virtual IClientMessage Invoke(IClientMessage request)
 {
     try
     {
         var task = GetContext().GetInvocationService().InvokeOnRandomTarget(request);
         return(ThreadUtil.GetResult(task));
     }
     catch (Exception e)
     {
         throw ExceptionUtil.Rethrow(e);
     }
 }
Beispiel #23
0
 protected virtual IClientMessage Invoke(IClientMessage request, object key)
 {
     try
     {
         var task = GetContext().GetInvocationService().InvokeOnKeyOwner(request, key);
         return(ThreadUtil.GetResult(task));
     }
     catch (Exception e)
     {
         throw ExceptionUtil.Rethrow(e);
     }
 }
Beispiel #24
0
    /*! This methode starts the loading of a .blend file
     * \param pathToMeshJson path to a .blend file */
    public void LoadFile(string pathToMeshJson)
    {
        //Check if mesh.json exists
        if (!File.Exists(pathToMeshJson))
        {
            Debug.LogWarning("Could not load mesh from: " + pathToMeshJson + ", file not found.");
            return;
        }

        // Read mesh.json
        string fileContent = "";
        string line;

        System.IO.StreamReader file = new System.IO.StreamReader(pathToMeshJson);
        while ((line = file.ReadLine()) != null)
        {
            fileContent += line;
        }
        file.Close();
        meshJson = JsonMapper.ToObject <MeshJson>(fileContent);
        if (meshJson == null)
        {
            Debug.LogWarning("Error while parsing mesh.json");
            return;
        }
        Patient currentPatient = Patient.getLoadedPatient();
        string  path           = currentPatient.path + "/" + meshJson.pathToBlendFile;

        //Loading blend file
        if (File.Exists(path))
        {
            // Let loading screen know what we're currently doing:
            PatientEventSystem.triggerEvent(PatientEventSystem.Event.LOADING_AddLoadingJob, "Mesh");
            this.RemoveMesh();
            this.Path = path;
            MeshGameObjectContainers = new List <GameObject>();

            // Reset scale, rotation, position:
            meshNode.transform.localScale           = new Vector3(0.007f, 0.007f, 0.007f);
            meshNode.transform.parent.localScale    = new Vector3(1.0f, 1.0f, 1.0f);
            meshNode.transform.parent.localRotation = Quaternion.identity;
            //meshNode.transform.parent.Rotate (90, 0, 0);
            meshNode.transform.parent.GetComponent <ModelRotator>().setTargetOrientation(Quaternion.Euler(90, 0, 0));

            ThreadUtil t = new ThreadUtil(this.LoadFileWorker, this.LoadFileCallback);
            t.Run();
        }
        else
        {
            Debug.LogWarning("Could not load mesh from: '" + path + "', file not found.");
        }
    }
        private void ClusterAuthenticator(ClientConnection connection)
        {
            var ss             = _client.GetSerializationService();
            var clusterService = (ClientClusterService)_client.GetClientClusterService();
            var principal      = clusterService.GetPrincipal();

            var           uuid      = principal.GetUuid();
            var           ownerUuid = principal.GetOwnerUuid();
            ClientMessage request;

            var usernamePasswordCr = _credentials as UsernamePasswordCredentials;

            if (usernamePasswordCr != null)
            {
                request = ClientAuthenticationCodec.EncodeRequest(usernamePasswordCr.GetUsername(),
                                                                  usernamePasswordCr.GetPassword(), uuid, ownerUuid, false,
                                                                  ClientTypes.Csharp, _client.GetSerializationService().GetVersion(), VersionUtil.GetDllVersion());
            }
            else
            {
                var data = ss.ToData(_credentials);
                request = ClientAuthenticationCustomCodec.EncodeRequest(data, uuid, ownerUuid, false,
                                                                        ClientTypes.Csharp, _client.GetSerializationService().GetVersion(), VersionUtil.GetDllVersion());
            }

            IClientMessage response;

            try
            {
                var future = ((ClientInvocationService)_client.GetInvocationService()).InvokeOnConnection(request,
                                                                                                          connection);
                response = ThreadUtil.GetResult(future);
            }
            catch (Exception e)
            {
                throw ExceptionUtil.Rethrow(e);
            }
            var rp = ClientAuthenticationCodec.DecodeResponse(response);

            if (rp.address == null)
            {
                throw new HazelcastException("Could not resolve address for member.");
            }

            var member = _client.GetClientClusterService().GetMember(rp.address);

            if (member == null)
            {
                throw new HazelcastException("Node with address '" + rp.address + "' was not found in the member list");
            }
            connection.Member = member;
        }
Beispiel #26
0
        /// <summary> 检测登录二维码扫描状态 </summary>
        /// <param name="uid"></param>
        private WxLoginScanResult executeLoginScanHttpTask(string uid)
        {
            try
            {
                string tip = "1";
                while (true)
                {
                    HttpTask ht = syncCreateHttpTask(WxHtpUtil.GetLoginScanParams(uid, tip));
                    if (ht == null)
                    {
                        return(null);
                    }

                    WxLoginScanResult result = WxRespUtil.ParseLoginScanResp(ht.ExecuteString());
#if Debug
                    Console.WriteLine("wx login scan result =" + (result == null ? "null" : result.Code.ToString()));
#endif
                    if (result == null)
                    {
                    }
                    else if (result.Code == WxResultCode.LOGIN_SCAN_SUCCESS)//201
                    {
                        //已扫描,未登录,这里可以获取头像
                        tip = "0";
                    }
                    else if (result.Code == WxResultCode.LOGIN_SCAN_LOGIN)//200
                    {
                        //点击登录
                        return(result);
                    }
                    else if (result.Code == WxResultCode.LOGIN_SCAN_TIMEOUT)//408
                    {
                        //微信端返的连接超时,继续连接
                    }
                    else if (result.Code == WxResultCode.LOGIN_SCAN_EXPIRED)//400
                    {
                        //二维码过期
                        return(result);
                    }

                    ThreadUtil.Sleep(500);

                    if (!syncCheckLoginingState())
                    {
                        return(null);
                    }
                }
            }
            catch { }

            return(null);
        }
Beispiel #27
0
        public void DoSomething(object state)
        {
            var transaction = state as DependentTransaction;

            Magnum.Guard.AgainstNull(transaction, "transaction");
            using (transaction)
            {
                ThreadUtil.Sleep(100.Milliseconds());

                transaction.Rollback(new InvalidOperationException("System screwed up"));
                //	transaction.Complete();
            }
        }
Beispiel #28
0
        static void Main(string[] args)
        {
            ThreadUtil.RunTask(() => {
                for (int i = 0; i < 10; i++)
                {
                    Console.WriteLine("JoJo:" + i.ToString());
                    Thread.Sleep(1000);
                }
            }, 5000);

            Console.WriteLine("............");
            Console.ReadKey();
        }
        public bool Replace(K key, V oldValue, V newValue)
        {
            var keyData      = ToData(key);
            var oldValueData = ToData(oldValue);
            var newValueData = ToData(newValue);
            var request      = MapReplaceIfSameCodec.EncodeRequest(GetName(), keyData, oldValueData, newValueData,
                                                                   ThreadUtil.GetThreadId());

            InvalidateNearCacheEntry(keyData);
            var clientMessage = Invoke(request, keyData);

            return(MapReplaceIfSameCodec.DecodeResponse(clientMessage).response);
        }
        public V Put(K key, V value, long ttl, TimeUnit timeunit)
        {
            var keyData   = ToData(key);
            var valueData = ToData(value);
            var request   = MapPutCodec.EncodeRequest(GetName(), keyData, valueData, ThreadUtil.GetThreadId(),
                                                      timeunit.ToMillis(ttl));

            InvalidateNearCacheEntry(keyData);
            var clientMessage = Invoke(request, keyData);
            var response      = MapPutCodec.DecodeResponse(clientMessage).response;

            return(ToObject <V>(response));
        }