예제 #1
0
        public bool Init(Context.SEAContext.DoHandler doCallback)
        {
            try
            {
                var    key        = new StringBuilder(32, 32);
                var    textWriter = MyAPIGateway.Utilities.WriteFileInGlobalStorage(SEAUtilities.KEY_FILE_NAME);
                Random r          = new Random();
                memoryCells = new MemoryCell[THREAD_COUNT];

                var i = 0;
                while (i < THREAD_COUNT)
                {
                    memoryCells[i++] = new MemoryCell(r, doCallback, ref key);
                    textWriter.WriteLine(key.ToString());
                    key.Clear();
                }
                textWriter.Flush();
                textWriter.Close();
                textWriter.Dispose();

                return(true);
            }
            catch
            {
                return(false);
            }
        }
예제 #2
0
            public MemoryCell(Random rSeed, Context.SEAContext.DoHandler doCallback, ref StringBuilder key)
            {
                id   = MyId.NewId(rSeed.Next());
                cell = new StringBuilder(CELL_LENGHT, CELL_LENGHT);
                id.AppendTo(ref key);
                id.AppendTo(ref cell);
                cell.Append(FLAG_VOID);
                id.AppendTo(ref cell);

                cell.Length    = CELL_LENGHT;
                this.doCommand = doCallback;

                reader = new Reader();
                writer = new Writer();

                listener = new ActionTimer();
                listener.Start(Translate);
            }