- Up - | Next >> |
The HttpClient
package implements the HTTP 0.9 and HTTP 1.0 protocols, conform RFC 1945 with some limitations (see Chapter 5), providing a flexible programming interface. Its interface is related with the retrieving of the documents over the network, as well as with accessing their transmission rate (see Chapter 2).
Chapter 3 describes some basic examples using the classes and functionality of the HttpClient
package.
Chapter 4 provides some concrete applications using the classes and functionality of the HttpClient
package.
Chapter 5 describes the limitations HttpClient
package has when compared with HTTP 1.0 protocol.
The HttpClient
package (mesaros-httpclient.pkg) was written in Mozart/Oz 3.
The HTTPClient module provides a clock signal that is useful for clocking applications that use the module. The clock signal is output as a dataflow stream, called RateStrm
(see Section 2.7.2).
A new stream element is added whenever new information is known about the data transmission rate, i.e., whenever a TCP read operation succeeds in the network layer. The stream can be read by a simple loop that iterates over its elements. Dataflow execution guarantees that the iteration will block if necessary until stream elements arrive. The stream's clock rate depends on how frequently the host machine updates its network buffer. The rate is typically several tens of stream elements per second, for an uncongested network.
The actual network bandwidth does not depend on this rate, but depends mainly on the physical properties of the network and its load; for example, on our Internet connection we measure typical bandwidths from less than one to several hundred kilobytes per second.
The package can be installed with the ozmake
tool that, lately, is delivered with the Mozart tarballs.
The package will be installed by default in directory "~/.oz"
.
- Up - | Next >> |