Hi, Following are some thoughts about the axis2_stream and the url.
The url can be either a file or a location in the web. In any case it has a stream associated with it. In case of file a write() to stream should write to the file and read() from the stream should read from the file. If it is a web location a write() to the stream should write to the socket and a read() should get data from the socket. So the stream correspond to either a file or a socket. In addition a basic stream(just a buffer) is also required. Axis Engine always deals with basic streams. The stream is also responsible handling char encodings. It will handle some basic encodings such as US-ASCII, UTF-8, UTF-16, ISO-8859-1 internally. The users will be also able to plugin their own versions of encodings by registering a callback function. In this case the stream will use this function whenever user asks the stream for get_bytes(). The transport module deals with sequences of bytes (obtained from get_bytes() funcition in the stream) and write to the correponding IO stream (either a stream corresponding to a socket or a stream corresponding to a file). pls feel free to comment - Sahan
