On 3/21/06, doug b <[EMAIL PROTECTED]> wrote:
> Jon Smirl wrote:
>
> > http://xulplanet.com/references/xpcomref/ifaces/nsIAsyncOutputStream.html
> > http://www.xulplanet.com/references/xpcomref/ifaces/nsIOutputStreamCallback.html
> >
> > When you get NS_BASE_STREAM_WOULD_BLOCK call AsyncWait and then
> > continue writing from the OnOutputStreamReady notification.
> >
>
> Thanks, but how is AsyncOutputStream implemented? Right now, I take an
> nsITransport object and call openOutputStream - how do I get an
> AsyncOutputStream instead?
Query instance, this is the input version....
nsresult
ProxyServer::OnSocketAccepted(nsIServerSocket *aServ,
nsISocketTransport *aTransport) {
nsresult rv;
nsCOMPtr<nsIInputStream> instream;
nsCOMPtr<nsIAsyncInputStream> astream;
nsCOMPtr<nsIOutputStream> outstream;
rv = aTransport->OpenInputStream(nsITransport::OPEN_UNBUFFERED, 0, 0,
getter_AddRefs(instream));
rv = aTransport->OpenOutputStream(nsITransport::OPEN_UNBUFFERED, 0,
0, getter_AddRefs(outstream));
astream = do_QueryInterface(instream);
rv = astream->AsyncWait(new BrowserConnection(instream, outstream),
0, 0, NULL);
return rv;
}
> _______________________________________________
> dev-tech-xpcom mailing list
> [email protected]
> https://lists.mozilla.org/listinfo/dev-tech-xpcom
>
--
Jon Smirl
[EMAIL PROTECTED]
_______________________________________________
dev-tech-xpcom mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-xpcom