Revising nsIChannel to allow for overlapped i/o. This consists of three parts:
1. Factoring nsIChannel into a protocol specific part, the nsIChannel, and a socket specific, the nsITransport.
2. Derive the nsIChannel from a nsIRequest.
2. Changes the notification system from necko and the URILoader to pass the nsIRequest interface instead of nsIChannel interface.
This goal stems from wanting to be able to have active AsyncRead and AsyncWrite operations on nsSocketTransport.
This is desired because it would greatly simplify the task of maintaining persistent/reusable socket connections
for FTP, HTTP, and Imap (and potentially other protocols). The problem with the existing nsIChannel interface is
that it does not allow one to selectively suspend just one of the read or write operations while keeping the other active.
r=darin@netscape.comsr=rpotts@netscape.com
1. Factoring nsIChannel into a protocol specific part, the nsIChannel, and a socket specific, the nsITransport.
2. Derive the nsIChannel from a nsIRequest.
2. Changes the notification system from necko and the URILoader to pass the nsIRequest interface instead of nsIChannel interface.
This goal stems from wanting to be able to have active AsyncRead and AsyncWrite operations on nsSocketTransport.
This is desired because it would greatly simplify the task of maintaining persistent/reusable socket connections
for FTP, HTTP, and Imap (and potentially other protocols). The problem with the existing nsIChannel interface is
that it does not allow one to selectively suspend just one of the read or write operations while keeping the other active.
The full details of the change on written up in the netlib newsgroup.
r=darin@netscape.comsr=rpotts@netscape.com
r=vishy. verified this solution works for mozilla, commercial and shrimp.
dont have bug number handy but this should be world++. basically from
now on, jar.mn rules will both create the jar and publish the flat files
to dist. the flat files are needed so that installers can compose the
files into a new naming system or delete some or whatever.
interfaces. Since the C++ generated code upper-cases the method names, this
affects no C++ code, but only a few javascript methods.
Bug 46771.
r=waterson.
I am in today and tomorrow.
a=brendan
* chatzilla-service.js
added components required for irc:// urls.
* command-manager.js
sort names before returning
* connection-xpcom.js
added support for async reads.
* events.js
Added "yield" event type to break out of event processing.
* irc-debug.js
add MPL
show data for "senddata" type events.
* irc.js
add password param for server.login() method.
add key param for channel.join() method.
refactoring to use the connection's async read method if it's there
(it's not in connection-rhino.js yet.)
* utils.js
add hyphenateWord function.
* chatzilla.xul
add windowtype attribute.
apply exv@randomc.com 's userlist context menu patch.
* commands.js
apply cbegle@geocast.com 's /stalk and /unstalk patch.
update join, server, and attach commands to include new params.
alias leave part.
removed bogus comments.
* handlers.js
apply cbegle@geocast.com 's /stalk and /unstalk patch.
update join, server, and attach commands to include new params.
check for pending irc urls after connection is made.
* static.js
apply cbegle@geocast.com 's /stalk and /unstalk patch.
apply exv@randomc.com 's userlist context menu patch.
add long word rule to munger.
implement parseIRCURL() and gotoIRCURL() function.
implement doURLTest() to test the other two.