Add an introductory section to README.md. Fixes #16.

This commit is contained in:
Sönke Ludwig 2017-06-12 13:56:19 +02:00
parent 8eece82992
commit b5952208bc
No known key found for this signature in database
GPG key ID: D95E8DB493EE314C

View file

@ -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. 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. 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 Supported compilers
------------------- -------------------