Hi,

>> *** BEGIN OFF TOPIC ***

 >

> wierd... this works for me.  is this basically what you did:
> 
> % cvs co mozilla/client.mk
> % cd mozilla
> % gmake -f client.mk
> % cp /path/to/nsISocketListener.idl netwerk/base/public
> % cd netwerk/base/public
> % cvs add nsISocketListener.idl
> % cvs diff -uN > diff
> 
>> *** END OFF TOPIC ***


Thanks, but I worked around this using a rsynced copy of the global 
repository...


> we could actually eliminate the need for creating a nsIServerSocket 
> interface by just using nsIRequest.
> 
> nsIRequest::status - current status, NS_FAILED if there was a problem
> nsIRequest::isPending - TRUE if polling for incoming connections
> nsIRequest::cancel - to stop polling
> nsIRequest::suspend - to temporarily stop polling
> nsIRequest::resume - to resume polling after being suspended
> nsIRequest::loadGroup - ignored
> nsIRequest::loadFlags - ignored
> 
> then, we'd have something like this:
> 
> nsISocketTransportService {
>   // ...
>   nsIRequest createServerSocket(in long port,
>                                 in nsIServerSocketListener listener,
>                                 in nsISupports ctxt);
> };


The disadvantage is that the I/O layers like SSL or SOCKS (as suggested 
by Bradley Baetz) can only hardly be integrated using nsIRequest. So we 
have to decide if we do it light-weight or flexible...



Daniel


Reply via email to