mozilla
Your Search Results

    nsICacheEntryDescriptor

    This interface provides a cache entry descriptor.
    Inherits from: nsICacheEntryInfo Last changed in Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)

    Method overview

    void close();
    void doom();
    void doomAndFailPendingRequests(in nsresult status);
    string getMetaDataElement(in string key);
    void markValid();
    nsIInputStream openInputStream(in unsigned long offset);
    nsIOutputStream openOutputStream(in unsigned long offset);
    void setDataSize(in unsigned long size);
    void setExpirationTime(in PRUint32 expirationTime);
    void setMetaDataElement(in string key, in string value);
    void visitMetaData(in nsICacheMetaDataVisitor visitor);

    Attributes

    Attribute Type Description
    accessGranted nsCacheAccessMode Get the access granted to this descriptor. See nsICache for the definitions of the access modes and a thorough description of their corresponding meanings. Read only.
    cacheElement nsISupports Get or set the cache data element. This will fail if the cache entry is stream based. The cache entry holds a strong reference to this object. The object will be released when the cache entry is destroyed.
    file nsIFile Get the disk file associated with the cache entry. Read only.
    predictedDataSize PRInt64 Stores the Content-Length specified in the HTTP header for this entry. Checked before we write to the cache entry, to prevent ever taking up space in the cache for an entry that we know up front is going to have to be evicted anyway. See bugĀ 588507.
    securityInfo nsISupports Get or set security info on the cache entry for this descriptor. This fails if the storage policy is not STORE_IN_MEMORY.
    storagePolicy nsCacheStoragePolicy Get or set the storage policy of the cache entry. See nsICache for the definitions of the storage policies.

    Methods

    close()

    This method explicitly closes the descriptor (optional).

    void close();
    
    Parameters

    None.

    doom()

    This method dooms the cache entry this descriptor references in order to slate it for removal. Once doomed a cache entry cannot be undoomed.

    A descriptor with WRITE access can doom the cache entry and choose to fail pending requests. This means that pending requests will not get a cache descriptor. This is meant as a tool for clients that wish to instruct pending requests to skip the cache.

    void doom();
    
    Parameters

    None.

    doomAndFailPendingRequests()

    This method with the WRITE access can doom the cache entry and choose to fail pending requests. This means that pending requests will not get a cache descriptor. This is meant as a tool for clients that wish to instruct pending requests to skip the cache.

    void doomAndFailPendingRequests(
      in nsresult status
    );
    
    Parameters
    status
    The access status.

    getMetaDataElement()

    This method retrieves the meta data. Meta data is a table of key/value string pairs. The strings do not have to conform to any particular charset, but they must be null terminated.

    string getMetaDataElement(
      in string key
    );
    
    Parameters
    key
    The key for retrieving the meta data.
    Return value

    Returns the string value containing the meta data for the provided key.

    markValid()

    This method means that a writer must validate this cache object before any readers are given a descriptor to the object.

    void markValid();
    
    Parameters

    None.

    openInputStream()

    This method opens blocking input stream to cache data. This will fail if the cache entry is not stream based. Use the stream transport service to asynchronously read this stream on a background thread. The returned stream may implement nsISeekableStream.

    nsIInputStream openInputStream(
      in unsigned long offset
    );
    
    Parameters
    offset
    Read starting from this offset into the cached data. An offset beyond the end of the stream has undefined consequences.
    Return value

    Returns blocking, unbuffered input stream.

    openOutputStream()

    This method opens blocking output stream to cache data. This will fail if the cache entry is not stream based. Use the stream transport service to asynchronously write to this stream on a background thread. The returned stream may implement nsISeekableStream.

    If opening an output stream to existing cached data, the data will be truncated to the specified offset.

    nsIOutputStream openOutputStream(
      in unsigned long offset
    );
    
    Parameters
    offset
    Write starting from this offset into the cached data. An offset beyond the end of the stream has undefined consequences.
    Return value

    Returns blocking, unbuffered output stream.

    setDataSize()

    This method sets the cache entry data size. This will fail if the cache entry is stream based.

    void setDataSize(
      in unsigned long size
    );
    
    Parameters
    size
    The cache entry data size.

    setExpirationTime()

    This method sets the time at which the cache entry should be considered invalid (in seconds since the Epoch).

    void setExpirationTime(
      in PRUint32 expirationTime
    );
    
    Parameters
    expirationTime
    The time for cache entry expiration (in seconds).

    setMetaDataElement()

    This method sets the meta data. Meta data is a table of key/value string pairs. The strings do not have to conform to any particular charset, but they must be null terminated.

    void setMetaDataElement(
      in string key,
      in string value
    );
    
    Parameters
    key
    The key for setting the meta data.
    value
    The value for setting the meta data.

    visitMetaData()

    This method means that the visitor will be called with key/value pair for each meta data element.

    void visitMetaData(
      in nsICacheMetaDataVisitor visitor
    );
    
    Parameters
    visitor
    The visitor to be called.

    See also

    Document Tags and Contributors

    Contributors to this page: Arehman4, Jimbeau, Sheppy, trevorh
    Last updated by: Sheppy,