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.

See runApplication for the main entry point for typical vibe.d server or GUI applications.


createFileDescriptorEvent(file_descriptor, event_mask, event_mode) Creates an event to wait on an existing file descriptor.
createTimer(callback) Creates a new timer without arming it.
disableDefaultSignalHandlers() Disables the signal handlers usually set up by vibe.d.
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.
runApplication(args_out) Performs final initialization and runs the event loop.
runEventLoop() Starts the vibe.d event loop for the calling thread.
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.
setIdleHandler(del) Scheduled for deprecation - use a @safe callback instead.
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 the thread pool used for executing worker tasks.
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.d version


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

Sönke Ludwig


© 2012-2016 RejectedSoftware e.K.


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