- Publicity: Public Only All
bgdelivery-procs.tcl
Routines for background delivery of files
- Location:
- packages/xotcl-core/tcl/bgdelivery-procs.tcl
- Created:
- 19 Nov 2005
- Author:
- Gustaf Neumann <neumann@wu-wien.ac.at>
- CVS Identification:
$Id: bgdelivery-procs.tcl,v 1.68.2.20 2024/08/27 10:15:52 gustafn Exp $
Procedures in this file
- ad_returnfile_background (public)
- bgdelivery proc nr_running (public)
- bgdelivery proc returnfile (public)
- bgdelivery proc running (public)
Detailed information
ad_returnfile_background (public)
ad_returnfile_background [ -client_data client_data ] status_code \ mime_type filename
Deliver the given file to the requester in the background. When using NaviServer with its writer threads, ns_returnfile is perfectly fine since it delivers its contents already in the background. The main reason for using the bgdelivery thread is currently (2019) the support of h264 streaming (when the module is in use). So we check, whether h264 is available and requested, otherwise pass everything to ns_returnfile.
- Switches:
- -client_data
(optional)- Parameters:
- status_code
mime_type
filename
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- nested_self_references
bgdelivery proc nr_running (public)
bgdelivery nr_running
Interface to the background delivery thread to query the number of currently running deliveries.
- Returns:
- number of currently running background deliveries
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
bgdelivery proc returnfile (public)
bgdelivery returnfile [ -client_data client_data ] [ -delete delete ] \ [ -content_disposition content_disposition ] status_code mime_type \ filename
Deliver the given file to the requester in the background. This proc uses the background delivery thread to send the file in an event-driven manner without blocking a request thread. This is especially important when large files are requested over slow connections. With NaviServer, this function is mostly obsolete, at least, when writer threads are configured. The writer threads have as well the advantage, that these can be used with https, while the bgdelivery thread works directly on the socket. One remaining purpose of this function is h264 streaming delivery (when the module is in use).
- Switches:
- -client_data
(optional)- -delete
(defaults to"false"
) (optional)- -content_disposition
(optional)- Parameters:
- status_code
mime_type
filename
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
bgdelivery proc running (public)
bgdelivery running
Interface to the background delivery thread to query the currently running deliveries.
- Returns:
- list of key value pairs of all currently running background processes
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.