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.
createLeanTimer(callback) Creates a new timer with a lean callback mechanism.
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.
hibernate(on_interrupt) Suspends the execution of the calling task until switchToTask is called manually.
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.
runApplication(args_out) Performs final initialization and runs the event loop.
runEventLoop() Starts the vibe.d event loop for the calling thread.
runEventLoopOnce() Wait once for events and process them.
runTask(task, args) Runs a new asynchronous task.
runTask(task, args)
runTask(task, args)
runTaskScoped(callable, args) Runs an asyncronous task that is guaranteed to finish before the caller's scope is left.
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.
runWorkerTaskDistH(on_handle, func, args) Runs a new asynchronous task in all worker threads and returns the handles.
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.
setTaskCreationCallback(func) Sets a callback that is invoked whenever new task is created.
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.
setTimer(timeout, callback, periodic) Compatibility overload - use a @safe nothrow callback instead.
setupWorkerThreads(num) Sets up num worker threads.
sleep(timeout) Suspends the execution of the calling task for the specified amount of time.
switchToTask(t) Switches execution to the given task.
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.
yieldLock() Returns an object that ensures that no task switches happen during its life time.


FileDescriptorEvent Generic file descriptor event.
Timer Represents a timer.

Manifest constants

vibeVersionString A version string representing the current vibe.d core version

Sönke Ludwig


© 2012-2019 RejectedSoftware e.K.


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