Bend.LogWriter._InitResume C# (CSharp) Метод

_InitResume() приватный Метод

private _InitResume ( IRegionManager regionmgr ) : void
regionmgr IRegionManager
Результат void
        private void _InitResume(IRegionManager regionmgr)
        {
            this.rootblockstream = regionmgr.readRegionAddr(0).getNewAccessStream();
            root = Util.readStruct<RootBlockHeader>(rootblockstream);
            if (!root.IsValid()) {
                throw new Exception("invalid root block");
            }
            RootBlockLogSegment[] log_segments = new RootBlockLogSegment[root.num_logsegments];
            for (int i=0;i<root.num_logsegments;i++) {
                log_segments[i] = Util.readStruct<RootBlockLogSegment>(rootblockstream);
            }

            // setup the log segment handler
            this.log_handler = new LogSegmentsHandler(this,regionmgr, log_segments);

            foreach (LogCmd cmd in log_handler.recoverLogCmds()) {
                 receiver.handleCommand(cmd.cmd, cmd.cmddata);
            }
        }

Usage Example

Пример #1
0
        // standard open/resume
        public static LogWriter LogWriter_Resume(IRegionManager regionmgr, ILogReceiver receiver)
        {
            LogWriter lw = new LogWriter(regionmgr);
            lw.receiver = receiver;
            lw._InitResume(regionmgr);

            lw.log_handler.prepareLog();
            return lw;
        }
All Usage Examples Of Bend.LogWriter::_InitResume