Back to index

lightning-sunbird  0.9+nobinonly
Classes | Functions
nsTransportUtils.cpp File Reference
#include "nsTransportUtils.h"
#include "nsITransport.h"
#include "nsIEventTarget.h"
#include "nsProxyRelease.h"
#include "nsAutoLock.h"
#include "nsCOMPtr.h"
#include "plevent.h"

Go to the source code of this file.


class  nsTransportEventSinkProxy
class  nsTransportStatusEvent


nsresult net_NewTransportEventSinkProxy (nsITransportEventSink **result, nsITransportEventSink *sink, nsIEventTarget *target, PRBool coalesceAll)
 This function returns a proxy object for a transport event sink instance.

Function Documentation

nsresult net_NewTransportEventSinkProxy ( nsITransportEventSink **  aResult,
nsITransportEventSink aSink,
nsIEventTarget aTarget,
PRBool  aCoalesceAllEvents = PR_FALSE 

This function returns a proxy object for a transport event sink instance.

The transport event sink will be called on the thread indicated by the given event target. Like events are automatically coalesced. This means that for example if the status value is the same from event to event, and the previous event has not yet been delivered, then only one event will be delivered. The progress reported will be that from the second event. If aCoalesceAllEvents is true, then any undelivered event will be replaced with the next event if it arrives early enough. This option should be used cautiously since it can cause states to be effectively skipped. Coalescing events can help prevent a backlog of unprocessed transport events in the case that the target thread is overworked.

Definition at line 184 of file nsTransportUtils.cpp.

    *result = new nsTransportEventSinkProxy(sink, target, coalesceAll);
    if (!*result)
        return NS_ERROR_OUT_OF_MEMORY;
    return NS_OK;

Here is the call graph for this function:

Here is the caller graph for this function: