<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta http-equiv="Content-Style-Type" content="text/css" />
  <meta name="generator" content="pandoc" />
  <title></title>
  <style type="text/css">code{white-space: pre;}</style>
</head>
<body>
<p>Hi Rémi (and all others reading),</p>
<p>On 2017-02-01 19:32, Filip Roséen wrote:</p>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;color:#500050">
<pre><code> On 2017-02-01 20:22, Rémi Denis-Courmont wrote:</code></pre>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;color:#500050">
<pre><code> I have a hard time following the code. It really does not help that directory 
 and file callbacks appear to be artificially multiplexed.</code></pre>
</blockquote>
<pre><code> It might be easier if I supplied some additional comments explaining
 what the different callbacks are for, but in short:

 [ snip ... ]

 Do you think comments that include the information posted above will
 aid in terms of following the implementation?</code></pre>
</blockquote>
<p>I know realized that I read your email wrong, for some reason my brain filtered out your usage of <em>multiplexing</em>.</p>
<p>The multiplexing is part of the implemenation given that formats (such as <em>rar</em>) can be split up across several pieces, meaning that we have to stitch them together (so reading from one, and then moving to the next/prev when <em>libarchive</em> feels so is appropriate (through <code>libarchive_jump_cb</code>)).</p>
<p>I have yet to find a good documentation for <em>libarchive</em>, and I spent most time reading commits to the relevant library (as well as digging through the source code to get a deeper understanding of how things are supposed to work).</p>
<p>In either case, below is a link that might help (unless it is the implementation itself that is causing confusion, and not the API exposed by libarchive):</p>
<ul>
<li>https://github.com/libarchive/libarchive/wiki/ManualPages</li>
</ul>
</body>
</html>