Example #1
0
        public override void RegisterClientHandler(RegisterClientRequestReader request, RegisterClientResponseWriter response)
        {
            response.PartitionCount = m_memorycloud.PartitionCount;
            var cstg = m_client_storages.AddOrUpdate(request.Cookie, _ =>
            {
                ClientIStorage stg = new ClientIStorage(m_memorycloud);
                stg.Pulse          = DateTime.Now;
                int new_id         = Registry.RegisterClient(stg);
                stg.InstanceId     = new_id;
                return(stg);
            }, (_, stg) => stg);

            response.InstanceId = cstg.InstanceId;
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="request"></param>
        /// <param name="response"></param>
        public override void RegisterClientHandler(RegisterClientRequestReader request, RegisterClientResponseWriter response)
        {
            response.PartitionCount = m_memorycloud.PartitionCount;
            var cstg = m_client_storages.AddOrUpdate(request.Cookie, addValueFactory: AddValueFactory, (int _, ClientIStorage stg) =>
            {
                if (_ <= 0)
                {
                    throw new ArgumentOutOfRangeException(nameof(_));
                }
                return(stg);
            });

            response.InstanceId = cstg.InstanceId;
        }