예제 #1
0
        public MessageWriter(IPageWriter pages, ICheckpointWriter positionWriter)
        {
            _pages          = pages;
            _positionWriter = positionWriter;

            _buffer   = new byte[pages.GetMaxCommitSize()];
            _pageSize = pages.GetPageSize();
            _stream   = new MemoryStream(_buffer, true);
            _binary   = new BinaryWriter(_stream, Encoding.UTF8, true);
        }
예제 #2
0
        public MessageWriter(IPageWriter pages, ICheckpointWriter positionWriter)
        {
            _pages = pages;
            _positionWriter = positionWriter;

            _buffer = new byte[pages.GetMaxCommitSize()];
            _pageSize = pages.GetPageSize();
            _stream = new MemoryStream(_buffer, true);
            _binary = new BinaryWriter(_stream, Encoding.UTF8, true);
        }
예제 #3
0
 public MessageCopier(
     IPageReader sourceReader,
     ICheckpointReader sourcePos,
     IMemoryStreamManager streamManager,
     IPageWriter targetWriter,
     ICheckpointWriter targetPos)
 {
     _sourceReader  = sourceReader;
     SourcePos      = sourcePos;
     _streamManager = streamManager;
     _targetWriter  = targetWriter;
     TargetPos      = targetPos;
 }
예제 #4
0
 public void Render(TableOfContent toc, IPageWriter writer)
 {
     foreach (var page in toc.Pages)
     {
         var template = _provider.GetTemplate(page.Content);
         template.Match(
             some: c =>
         {
             var text = c.Apply(page.Content).ValueOr(string.Empty);
             writer.Write(text, page, toc.Root);
         },
             none: () => { }
             );
     }
 }
예제 #5
0
 public BulkPageWriter(IPageWriter writer)
 {
     this.writer = writer;
 }
예제 #6
0
 public BulkPageWriter(IPageWriter writer)
 {
     this.writer = writer;
 }
예제 #7
0
 public Renderer(IDocumentRenderer renderer, IPageWriter writer)
 {
     _renderer = renderer;
     _writer   = writer;
 }