Gustaf Neumann wrote:
> Am 09.07.14 21:18, schrieb Jeff Rogers:
>> If I understand correctly, this codepath if used for a non-file based
>> return, so e.g., "ns_return -binary" should get here.
> The code paths are more complex and depend also on the settings of the
> configuration file (e.g. caching, mmap, ...);
>
> when i was working on the async writer i created the call-graph [1]
> below (manually, might contain errors; just did if for the parts i was
> interested in). ReturnRange() is reached for file-descriptor based and
> for data based deliveries

I started to make a similar diagram, but mine's only on a whiteboard so 
far and not as complete.  What did you use for this diagram (I'm hoping 
LibreOffice draw), and can you share the source file?


>> Also, it looks like ranges aren't supported at all for character data
>> (e.g., adp responses or non-binary ns_return).  Is this intentional and
>> desirable?  It seems reasonable at first glance, since the most useful
>> use case for ranges is large binaries, but it seems a bit inconsistent.

> as mentioned a while earlier on the list, the call graph of the data
> delivery logic
> is quite complex and might be simplified. I've simplified it in some
> steps when
> working on the async writer, but still, more can be done.

Agreed here.  Maybe it's time to get rid of some of the old C apis, and 
fix some of the naming to make others clearer?  The use of "Send" vs 
"Write" is confusing,  especially in the case of Ns_ConnSend* vs 
Ns_ConnSend.

> yes, currently range requests are ignored for e.g. .adp requests, but they
> are -supposed to be  - fully supported on file-requests, which are in
> practice
> the most important cases (e.g. various pdf readers depend on this, i think
> i have seen this as well range requests on video formats).
>
> Seems that so far, no-one had needs for range requests on dynamic content,
> which is often useless (e.g. language settings lead to different message
> strings
> on systems like e.g. OpenACS), but there might certainly be use-cases
> for that.

I agree with the sentiment here.  I could come up with a use case but 
I'm not aware of any currently in use.  Remember too, that even dynamic 
content is frequently mostly static, or static for long enough periods 
of time to allow static treatment (i.e., caching) to be useful.

-J

>
> the best start is usually to add a test case. I've added a test case
> showing that
> range requests are ignored on .adp requests.
>
> -gustaf neumann
>
> [1] http://openacs.org/xowiki/file/writer.png
>
>
>
> ------------------------------------------------------------------------------
> Open source business process management suite built on Java and Eclipse
> Turn processes into business applications with Bonita BPM Community Edition
> Quickly connect people, data, and systems into organized workflows
> Winner of BOSSIE, CODIE, OW2 and Gartner awards
> http://p.sf.net/sfu/Bonitasoft
> _______________________________________________
> naviserver-devel mailing list
> naviserver-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/naviserver-devel
>


------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel

Reply via email to