Struct lldb::SBQueue
[−]
[src]
pub struct SBQueue { pub raw: SBQueueRef, }
A libdispatch
(aka Grand Central Dispatch) queue.
A program using libdispatch
will create queues, put work items
(functions, blocks) on the queues. The system will create /
reassign pthreads to execute the work items for the queues. A
serial queue will be associated with a single thread (or possibly
no thread, if it is not doing any work). A concurrent queue may
be associated with multiple threads.
The available queues within a process can be found discovered by
inspecting the process
:
// Iterate over the queues... for queue in process.queues() { println!("Hello {}!", queue.queue_id()); }
If a queue is associated with a thread, it can be discovered
from the thread via SBThread::queue()
.
Fields
raw: SBQueueRef
The underlying raw SBQueueRef
.
Methods
impl SBQueue
[src]
fn wrap(raw: SBQueueRef) -> SBQueue
[src]
Construct a new SBQueue
.
fn maybe_wrap(raw: SBQueueRef) -> Option<SBQueue>
[src]
Construct a new Some(SBQueue)
or None
.
fn is_valid(&self) -> bool
[src]
Check whether or not this is a valid SBQueue
value.
fn process(&self) -> SBProcess
[src]
fn queue_id(&self) -> u64
[src]
Returns a unique identifying number for this queue that will not be used by any other queue during this process' execution.
These ID numbers often start at 1 with the first system-created queues and increment from there.
fn name(&self) -> &str
[src]
The name of this queue.
fn threads(&self) -> SBQueueThreadIter
[src]
Get an iterator over the threads associated with this queue.
fn pending_items(&self) -> SBQueueQueueItemIter
[src]
Get an iterator over the pending items known to this queue.
fn num_running_items(&self) -> u32
[src]
The number of work items that this queue is currently running.
For a serial queue, this will be 0
or 1
. For a concurrent
queue, this may be any number.
fn kind(&self) -> QueueKind
[src]
The kind of this queue, serial or concurrent.