stable http transfer

This commit is contained in:
2026-10-30 10:41:56 +01:00
parent df532149f9
commit d36d382e20
5 changed files with 185 additions and 21 deletions
+8
View File
@@ -31,3 +31,11 @@ The public interface is divided into layers:
A normal application can use the device-oriented modules without dealing with
SSDP, SOAP, service control URLs, or DIDL-Lite XML directly. The generic layer
remains available for inspection and vendor-specific extensions.
SOAP HTTP exchanges and service-description requests have a ten-second
response deadline. A stalled renderer
therefore raises a transport failure instead of indefinitely occupying a
player's transport lock. The private @tt{call-with-http-timeout} procedure
runs the exchange in a worker, propagates its values or exception and closes
its HTTP resources. Its @tt{progress!} callback can restart the inactivity
wait for streaming callers; SOAP calls use a single bounded exchange.
+4
View File
@@ -15,6 +15,10 @@ underlying Racket file dispatcher streams files and supports both @tt{HEAD}
requests and HTTP byte ranges. Byte ranges are important for media-renderer
probing and seeking.
At info log level, each published transfer reports its start and completion or
interruption, including client address, HTTP method, requested range and elapsed
time. No publication lock is held while the response is being streamed.
@defproc[(media-file-server? [value any/c]) boolean?]{
Returns @racket[#t] when @racket[value] is a media file server.
}