Struct xpcom::interfaces::nsIClassOfService
[−]
[src]
#[repr(C)]pub struct nsIClassOfService { /* fields omitted */ }
interface nsIClassOfService : nsISupports
/**
* nsIClassOfService.idl
*
* Used to express class dependencies and characteristics - complimentary to
* nsISupportsPriority which is used to express weight
*
* Channels that implement this interface may make use of this
* information in different ways.
*
* The default gecko HTTP/1 stack makes Followers wait for Leaders to
* complete before dispatching followers. Other classes run in
* parallel - neither being blocked nor blocking. All grouping is done
* based on the Load Group - separate load groups proceed
* independently.
*
* HTTP/2 does not use the load group, but prioritization is done per
* HTTP/2 session. HTTP/2 dispatches all the requests as soon as
* possible.
* The various classes are assigned logical priority
* dependency groups and then transactions of that class depend on the
* group. In this model Followers block on Leaders and Speculative
* depends on Background. See Http2Stream.cpp for weighting details.
*
*/
Methods
impl nsIClassOfService
[src]
pub fn coerce<T: nsIClassOfServiceCoerce>(&self) -> &T
[src]
Cast this nsIClassOfService
to one of its base interfaces.
impl nsIClassOfService
[src]
pub const Leader: i64
Leader: i64 = 1
pub const Follower: i64
Follower: i64 = 2
pub const Speculative: i64
Speculative: i64 = 4
pub const Background: i64
Background: i64 = 8
pub const Unblocked: i64
Unblocked: i64 = 16
pub const Throttleable: i64
Throttleable: i64 = 32
pub const UrgentStart: i64
UrgentStart: i64 = 64
pub const DontThrottle: i64
DontThrottle: i64 = 128
pub const Tail: i64
Tail: i64 = 256
pub const TailAllowed: i64
TailAllowed: i64 = 512
pub const TailForbidden: i64
TailForbidden: i64 = 1024
pub unsafe fn GetClassFlags(&self, aClassFlags: *mut uint32_t) -> nsresult
[src]
attribute unsigned long classFlags;
pub unsafe fn SetClassFlags(&self, aClassFlags: uint32_t) -> nsresult
[src]
attribute unsigned long classFlags;
pub unsafe fn ClearClassFlags(&self, flags: uint32_t) -> nsresult
[src]
void clearClassFlags (in unsigned long flags);
pub unsafe fn AddClassFlags(&self, flags: uint32_t) -> nsresult
[src]
void addClassFlags (in unsigned long flags);
Methods from Deref<Target = nsISupports>
pub fn coerce<T: nsISupportsCoerce>(&self) -> &T
[src]
Cast this nsISupports
to one of its base interfaces.
pub unsafe fn QueryInterface(
&self,
uuid: &nsIID,
result: *mut *mut c_void
) -> nsresult
[src]
&self,
uuid: &nsIID,
result: *mut *mut c_void
) -> nsresult
void QueryInterface (in nsIIDRef uuid, [iid_is (uuid), retval] out nsQIResult result);
pub unsafe fn AddRef(&self) -> nsrefcnt
[src]
[noscript,notxpcom] nsrefcnt AddRef ();
pub unsafe fn Release(&self) -> nsrefcnt
[src]
[noscript,notxpcom] nsrefcnt Release ();
Trait Implementations
impl XpCom for nsIClassOfService
[src]
const IID: nsIID
IID: nsIID = nsID(483088620, 24071, 19705, [163, 13, 172, 84, 144, 210, 59, 65])
fn query_interface<T: XpCom>(&self) -> Option<RefPtr<T>>
[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 nsIClassOfService
[src]
unsafe fn addref(&self)
[src]
Increment the reference count.
unsafe fn release(&self)
[src]
Decrement the reference count, potentially freeing backing memory.
impl Deref for nsIClassOfService
[src]
type Target = nsISupports
The resulting type after dereferencing.
fn deref(&self) -> &nsISupports
[src]
Dereferences the value.