vibe.d beta banner
get vibe.d

Asynchronous I/O that doesn’t get in your way, written in D

Module vibe.core.core

This module contains the core functionality of the vibe.d framework.


createFileDescriptorEvent(file_descriptor, event_mask) Creates an event to wait on an existing file descriptor.
createTimer(callback) Creates a new timer without arming it.
exitEventLoop(shutdown_all_threads) Stops the currently running event loop.
logicalProcessorCount() Determines the number of logical processors in the system.
lowerPrivileges(uname, gname) Sets the effective user and group ID to the ones configured for privilege lowering.
processEvents() Process all pending events without blocking.
rawYield() Yields execution of this task until an event wakes it up again.
runEventLoop() Starts the vibe event loop.
runTask(task, args) Runs a new asynchronous task.
runWorkerTask(func, args) Runs a new asynchronous task in a worker thread.
runWorkerTaskDist(func, args) Runs a new asynchronous task in all worker threads concurrently.
runWorkerTaskH(func, args) Runs a new asynchronous task in a worker thread, returning the task handle.
setIdleHandler(del) Sets a callback that is called whenever no events are left in the event queue.
setTaskEventCallback(func) Sets a callback that is invoked whenever a task changes its status.
setTaskStackSize(sz) Sets the stack size to use for tasks.
setTimer(timeout, callback, periodic) Returns a new armed timer.
setupWorkerThreads(num) Sets up num worker threads.
sleep(timeout) Suspends the execution of the calling task for the specified amount of time.
workerThreadCount() The number of worker threads used for processing worker tasks.
yield() Suspends the execution of the calling task to let other tasks and events be handled.


TaskLocal Implements a task local storage variable.
Timer Represents a timer.


TaskEvent High level state change events for a Task

Manifest constants

maxTaskParameterSize The maximum combined size of all parameters passed to a task delegate
vibeVersionString A version string representing the current vibe version


TaskArgsVariant std.variant.VariantN!(128L)
TaskEventCb nothrow void function(TaskEvent, Task)

Sönke Ludwig


© 2012-2015 RejectedSoftware e.K.


Subject to the terms of the MIT license, as written in the included LICENSE.txt file.