Struct xpcom::interfaces::nsICacheEntryDescriptor [] [src]

#[repr(C)]
pub struct nsICacheEntryDescriptor { /* fields omitted */ }

interface nsICacheEntryDescriptor : nsICacheEntryInfo

Methods

impl nsICacheEntryDescriptor
[src]

[src]

Cast this nsICacheEntryDescriptor to one of its base interfaces.

impl nsICacheEntryDescriptor
[src]

[src]

/**
     * Set the time at which the cache entry should be considered invalid (in
     * seconds since the Epoch).
     */

void setExpirationTime (in uint32_t expirationTime);

[src]

/**
     * Set the cache entry data size.  This will fail if the cache entry
     * IS stream based.
     */

void setDataSize (in unsigned long size);

[src]

/**
     * Open 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.
     *
     * @param offset
     *        read starting from this offset into the cached data.  an offset
     *        beyond the end of the stream has undefined consequences.
     *
     * @return blocking, unbuffered input stream.
     */

nsIInputStream openInputStream (in unsigned long offset);

[src]

/**
     * Open 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.
     *
     * @param offset
     *        write starting from this offset into the cached data.  an offset
     *        beyond the end of the stream has undefined consequences.
     *
     * @return blocking, unbuffered output stream.
     */

nsIOutputStream openOutputStream (in unsigned long offset);

[src]

/**
     * Get/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.
     */

attribute nsISupports cacheElement;

[src]

/**
     * Get/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.
     */

attribute nsISupports cacheElement;

[src]

/**
      * 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.
      */

attribute int64_t predictedDataSize;

[src]

/**
      * 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.
      */

attribute int64_t predictedDataSize;

[src]

/**
     * Get the access granted to this descriptor.  See nsICache.idl for the
     * definitions of the access modes and a thorough description of their
     * corresponding meanings.
     */

readonly attribute nsCacheAccessMode accessGranted;

[src]

/**
     * Get/set the storage policy of the cache entry.  See nsICache.idl for
     * the definitions of the storage policies.
     */

attribute nsCacheStoragePolicy storagePolicy;

[src]

/**
     * Get/set the storage policy of the cache entry.  See nsICache.idl for
     * the definitions of the storage policies.
     */

attribute nsCacheStoragePolicy storagePolicy;

[src]

/**
     * Get the disk file associated with the cache entry.
     */

readonly attribute nsIFile file;

[src]

/**
     * Get/set security info on the cache entry for this descriptor.  This fails
     * if the storage policy is not STORE_IN_MEMORY.
     */

attribute nsISupports securityInfo;

[src]

/**
     * Get/set security info on the cache entry for this descriptor.  This fails
     * if the storage policy is not STORE_IN_MEMORY.
     */

attribute nsISupports securityInfo;

[src]

/**
     * Get the size of the cache entry data, as stored. This may differ
     * from the entry's dataSize, if the entry is compressed.
     */

readonly attribute unsigned long storageDataSize;

[src]

/**
     * Doom 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 ();

[src]

void doomAndFailPendingRequests (in nsresult status);

[src]

/**
     * Asynchronously doom an entry. Listener will be notified about the status
     * of the operation. Null may be passed if caller doesn't care about the
     * result.
     */

void asyncDoom (in nsICacheListener listener);

[src]

/**
     * A writer must validate this cache object before any readers are given
     * a descriptor to the object.
     */

void markValid ();

[src]

/**
     *  Explicitly close the descriptor (optional).
     */

void close ();

[src]

/**
     * Methods for accessing 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);

[src]

void setMetaDataElement (in string key, in string value);

[src]

/**
     * Visitor will be called with key/value pair for each meta data element.
     */

void visitMetaData (in nsICacheMetaDataVisitor visitor);

Methods from Deref<Target = nsICacheEntryInfo>

[src]

Cast this nsICacheEntryInfo to one of its base interfaces.

[src]

/**
     * Get the client id associated with this cache entry.
     */

readonly attribute ACString clientID;

[src]

/**
     * Get the id for the device that stores this cache entry.
     */

readonly attribute ACString deviceID;

[src]

/**
     * Get the key identifying the cache entry.
     */

readonly attribute ACString key;

[src]

/**
     * Get the number of times the cache entry has been opened.
     */

readonly attribute long fetchCount;

[src]

/**
     * Get the last time the cache entry was opened (in seconds since the Epoch).
     */

readonly attribute uint32_t lastFetched;

[src]

/**
     * Get the last time the cache entry was modified (in seconds since the Epoch).
     */

readonly attribute uint32_t lastModified;

[src]

/**
     * Get the expiration time of the cache entry (in seconds since the Epoch).
     */

readonly attribute uint32_t expirationTime;

[src]

/**
     * Get the cache entry data size.
     */

readonly attribute unsigned long dataSize;

[src]

/**
     * Find out whether or not the cache entry is stream based.
     */

boolean isStreamBased ();

Trait Implementations

impl XpCom for nsICacheEntryDescriptor
[src]

IID: nsIID = nsID(2427551025, 18090, 20401, [162, 6, 71, 60, 150, 108, 188, 24])

[src]

Perform a QueryInterface call on this object, attempting to dynamically cast it to the requested interface type. Returns Some(RefPtr) if the cast succeeded, and None otherwise. Read more

impl RefCounted for nsICacheEntryDescriptor
[src]

[src]

Increment the reference count.

[src]

Decrement the reference count, potentially freeing backing memory.

impl Deref for nsICacheEntryDescriptor
[src]

The resulting type after dereferencing.

[src]

Dereferences the value.