From b5952208bc0c89892c436e9ada98a75f4e9bbbd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20Ludwig?= Date: Mon, 12 Jun 2017 13:56:19 +0200 Subject: [PATCH] Add an introductory section to README.md. Fixes #16. --- README.md | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index b640a26..0e820b9 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,27 @@ -vibe.d core module -================== +[![vibe.d](https://vibed.org/images/logo-and-title.png)](https://vibed.org) + +vibe.d core package +=================== + +The core package provides the low level I/O and concurrency primitives that are used to implement the higher level systems: + + - Event loop management + - Fiber based lightweight tasks, including task local storage and `std.concurrency` integration + - Files, sockets, timers + - Stream type definitions (used for files, sockets and higher level stream types) + - Synchronization primitives (mutexes, condition variables, semaphores, cross task/cross thread events) + - Logging facilities + - Command line argument parsing + - Various smaller utilities + +The fundamental building block is the fiber based task concept, together with the event based asynchronous I/O model. The enables developing highly scalable I/O concurrent applications without running into the complexities and design implications that asynchronous I/O programming models usually impose. See the [features page](https://vibed.org/features) for a more detailed explanation. + +[![DUB Package](https://img.shields.io/dub/v/vibe-core.svg)](https://code.dlang.org/packages/vibe-core) +[![Posix Build Status](https://travis-ci.org/vibe-d/vibe-core.svg?branch=master)](https://travis-ci.org/vibe-d/vibe-core) +[![Windows Build status](https://ci.appveyor.com/api/projects/status/eexephyroa7ag3xr/branch/master?svg=true)](https://ci.appveyor.com/project/s-ludwig/vibe-core/branch/master) + +Separation of the former `vibe-d:core` package +---------------------------------------------- This is the designated successor of the `vibe-d:core` sub package of [vibe.d 0.7.x](https://github.com/rejectedsoftware/vibe.d.git). The API is mostly compatible from a library user point of view, but the whole library has received some heavy lifting under the surface, close to a rewrite. Most classes have been replaced by reference counting structs and `@safe nothrow` attributes are now used throughout the library, whenever possible. Adding `@nogc` on the other hand could only be done in a very limited context due to its viral nature and the lack of an `@trusted` equivalent. @@ -9,10 +31,6 @@ Finally, the stream design has received two big changes. Streams can now either The implementation is mostly finished, except for final production testing. -[![DUB Package](https://img.shields.io/dub/v/vibe-core.svg)](https://code.dlang.org/packages/vibe-core) -[![Posix Build Status](https://travis-ci.org/vibe-d/vibe-core.svg?branch=master)](https://travis-ci.org/vibe-d/vibe-core) -[![Windows Build status](https://ci.appveyor.com/api/projects/status/eexephyroa7ag3xr/branch/master?svg=true)](https://ci.appveyor.com/project/s-ludwig/vibe-core/branch/master) - Supported compilers -------------------