Exemple #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="inSharedMemType"></param>
        /// <param name="inName"></param>
        /// <param name="inCapacity"></param>
        /// <returns></returns>
        internal bool InitClient(SharedMemoryType inSharedMemType, string inName, long inServerCapacity, long inClientCapacity)
        {
            bool result = true;

            //:::::::::::::::::::::::::::::::::::::

            try
            {
                _serverCapacity = inServerCapacity;
                _clientCapacity = inClientCapacity;

                _sharedMemoryManagerType = SharedMemoryManagerType.Client;

                result = _sharedMemoryManager.Init(_sharedMemoryManagerType, inSharedMemType, inName, TotalCapacity);
                if (result)
                {
                    pSetBeginMemory(TotalCapacity);
                }
            }
            catch
            {
                result = false;
            }

            //:::::::::::::::::::::::::::::::::::::

            return(result);
        }
Exemple #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="inPosition"></param>
        /// <param name="inMemoryManagerType"></param>
        /// <returns></returns>
        long pGetActualWritePosition(long inPosition, SharedMemoryManagerType inMemoryManagerType)
        {
            long result = 0;

            //::::::::::::::::::::::::::::::::::::::::::::::::

            if (inMemoryManagerType == SharedMemoryManagerType.Server)
            {
                result = _serverBeginMemory + inPosition;

                if (!pPosInServerMemory(result))
                {
                    throw new Exception(@"Write out of the Server memory zone"); // Write out of the Server memory zone
                }
            }
            else
            {
                result = _clientBeginMemory + inPosition;

                if (!pPosInClientMemory(result))
                {
                    throw new Exception(@"Write out of the Client memory zone"); // Write out of the Client memory zone
                }
            }

            //::::::::::::::::::::::::::::::::::::::::::::::::

            return(result);
        }
Exemple #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="inType"></param>
        /// <returns></returns>
        public bool Init(SharedMemoryManagerType inType, SharedMemoryType inShareType, string inName, long inCapacity)
        {
            bool result = true;

            //:::::::::::::::::::::::::::::

            result = (inType == SharedMemoryManagerType.Server) ? pInitServer(inShareType, inName, inCapacity) : pInitClient(inShareType, inName, inCapacity);

            //:::::::::::::::::::::::::::::

            return(result);
        }