stable http transfer
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user