User:Nikolas/New Taper Design Notes

From wiki.zmanda.com
Revision as of 22:28, 30 January 2009 by Nikolas (talk | contribs) (initial notes)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Old

Flow of data

  1. Dumper
  2. Chunker
  3. Holding disk (not a process)
  4. Taper

Or (no holding disk):

  1. Dumper
  2. (via port) Taper

New

Flow of data

  1. Dumper
  2. Taper::Scribe
  3. Holding disk
  4. Taper-Taper::Feeder

Or (no holding disk):

  1. Dumper
  2. Taper::Scribe
  3. Taper::Feeder

Notes

  • Chunker just uses a Taper::Scribe
  • Taper::Scribe handles all communications with the dumper
  • The holding disk details are handled by a Xfer object
  • Taper::Feeder handles splitting dumpfiles for tapes??

New XFA Parts

  • Xfer::Source::HoldingDisk($dir, $chunk_size) - used by Taper::Feeder
  • Xfer::Dest::HoldingDisk($dir, $chunk_size)- used by Taper::Scribe
  • Xfer::Source::Taper($changer, $dumpfile_id?)- used by amvault and amrecover
  • Xfer::Dest::Taper($changer, $dumpfile_id?) - used by Taper::Feeder

Perhaps the HoldingDisk can just open files and create Xfer::Source/Dest::Fd, passing work onto them until they close.