Linux Mac OSX Windows

Implemented by


  
[scriptable, uuid(185b3a5d-8729-436d-9693-7bdccb9c2216)]
interface nsISocketTransportService : nsISupports

Methods

 Adds a new socket to the list of controlled sockets.

 This will fail with the error code NS_ERROR_NOT_AVAILABLE if the maximum
 number of sockets is already reached.
 In this case, the notifyWhenCanAttachSocket method should be used.

 @param aFd
        Open file descriptor of the socket to control.
 @param aHandler
        Socket handler that will receive notifications when the socket is
        ready or detached.

 NOTE: this function may only be called from an event dispatch on the
       socket thread.
[noscript] void attachSocket(in PRFileDescPtr aFd, in nsASocketHandlerPtr aHandler)
 Creates a transport for a specified host and port.

 @param aSocketTypes
        array of socket type strings.  null if using default socket type.
 @param aTypeCount
        specifies length of aSocketTypes.
 @param aHost
        specifies the target hostname or IP address literal of the peer
        for this socket.
 @param aPort
        specifies the target port of the peer for this socket.
 @param aProxyInfo
        specifies the transport-layer proxy type to use.  null if no
        proxy.  used for communicating information about proxies like
        SOCKS (which are transparent to upper protocols).
 
 @see nsIProxiedProtocolHandler
 @see nsIProtocolProxyService::GetProxyInfo

 NOTE: this function can be called from any thread
nsISocketTransport createTransport([array, size_is(aTypeCount)] in string aSocketTypes, in unsigned long aTypeCount, in AUTF8String aHost, in long aPort, in nsIProxyInfo aProxyInfo)
 if the number of sockets reaches the limit, then consumers can be
 notified when the number of sockets becomes less than the limit.  the
 notification is asynchronous, delivered via the given nsIRunnable
 instance on the socket transport thread.

 @param aEvent
        Event that will receive the notification when a new socket can
        be attached

 NOTE: this function may only be called from an event dispatch on the
       socket thread.
[noscript] void notifyWhenCanAttachSocket(in nsIRunnable aEvent)