Skip to content

Releases: dulikvor/Core

Core 1.0.2

15 Apr 05:43
7ef2e9a
Compare
Choose a tag to compare

InterProcess:

  • Shared memory support.
  • Async tasks and futures.
  • Conditional variable.
  • Mutex.
  • Buddy allocator.
  • Fifo queue.

Async Executor:

  • Async executor based upon process pool.

Core 1.0.1

30 Jul 18:06
aedaa64
Compare
Choose a tag to compare

Core's first release, the release includes the following capabilities:

Utilities:

Logger:

  • An implementation specific pluggable logger wrapper, which provides the following capabilities:
  • A logger wrapper.
  • Ansi like tracing interface.
  • Stack trace printout.
  • Formal logging interface - flush, trace, add listener.
  • Formal listener interface - flush, trace
  • Severity is supported.
  • Basic set of listeners - file rotation with spdlog implementation, std::cout with default logger.

Pararms:

A general key-value pair dictionary, the data is saved in binary safe format form.

Environment:

Environment parser, providing the capability to retrieve platform specific information, such as:

  • logical core count.
  • Current process name.
  • Current process path.
  • IPV4 addresses.

CommandLine:

A command line parser. Providing the mean to access command line arguments via their name.

ConcurrentDictionary:

A general synchronised key-value pair dictionary.

SyncQueue:

A general synchronised queue.

Execution model:

Async Executor:

Provides the mean to to run tasks on top of a thread pool.

Timed Async Executor:

Time based execution model, providing the mean to run time based tasks on top of a thread pool.

Task/Time based Tasks:

A wrapper for a logical component to be scheduled on top of an Async Executor.

Platform primitives:

Thread:

A portable thread wrapper, providing the following capabilities:

  • Thread’s name.
  • Starting point.
  • Join.

Future/Promise:

A one shot data ready event.

AutoResetEvent:

A portable implementation of auto reset event.

ChildProcess:

A unix based implementation of child process spawn and standard in/out access via pipes.

Pipe:

A unix based wrapper of a pipe.

TcpSocket:

A wrapper on top unix based socket.

Language:

Enumeration:

An C++ enum enhancer, providing ToString/FromString capabilities.

Exception:

std::exception extension, providing the mean to produce stack trace on error in runtime.

The exception support an ansi like format for error description.

Assert:

Provides assertion (abort) and verify (exception) capabilities.