-
Task
-
Resolution: Done
-
Major
-
None
-
None
-
None
Based on talk with Andrew Rubinger:
20:06:17 - ALR: I'd like to rework the ShrinkWrap export mechanism
20:06:28 - ALR: Currently it's a multi-threaded design
20:07:04 - ALR: This is so that we don't have to hold the entire contents in memory to return the InputStream
20:07:15 - ALR: It works by using piped streams
20:07:33 - ALR: The JDK ZipOutputStream to write out to a pipe, then an InputStream which reads into it.
20:07:38 - ALR: This gives a "pull" model
20:07:55 - ALR: As the user reads in from the instream, this permits the outstream to fill the buffer
20:08:00 - ALR: Only the buffer is held in-memory
20:08:04 - ALR: What I want to do:
20:08:24 - ALR: Make a ZipInputStream which can directly read an archive
20:08:32 - ALR: So we bypass the piping and the need for Threads
20:08:52 - ALR: (JDK ZipInputStream only reads in current ZIP formats)
20:09:12 - ALR: THIS new ZipInputStream we would need to encode as ZIP as "read" is called
20:09:18 - ALR: Keeping the pull model intact
- incorporates
-
SHRINKWRAP-279 Shrinkwrap is hanging in JdkZipExporterDelegate
- Closed
-
SHRINKWRAP-433 Race condition deadlock in TarGz Exporter
- Closed