Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

seq-cpp

Stands for simple event queue cpp, and it aims to create a simple self contain extendable event queue to allow synchronization of events (messages) in a thread-safe concurrent queue

Build instructions

mkdir build && cd build
cmake ..
cmake --build . -j$(nproc)

Testing instructions

mkdir build && cd build
cmake ..
cmake --build . --target ut_EventQueue -j $(nproc)
cd build/test/unit
ctest --output-on-failure

Example use

    auto queue {EventQueue()};
    auto const eventMessage{EventMessage([](){/** Runnable event here **/});
    queue.run();
    queue.push_event(eventMessage);
    
    // to quit
    queue.push_event(QuitEvent([](){/** Runnable quit event here **/}));
    
    // garantee queue thread concludes, should not be needed as thread execution is tied to the queue life cycle scope
    queue.await_completion()

Example of message extension

    class MyCustomEvenMessage : EventMessage {
        // your custom implementation here
    }
    auto queue {EventQueue()};
    auto const eventMessage{MyCustomEvenMessage([](){/** Runnable event here **/});
    queue.run();
    queue.push_event(eventMessage);
    
    // to quit
    queue.push_event(QuitEvent([](){/** Runnable quit event here **/}));
    
    // garantee queue thread concludes, should not be needed as thread execution is tied to the queue life cycle scope
    queue.await_completion()

Author

@DistroRickDev

License

License: MIT

About

Stands for simple event queue cpp, and it aims to create a simple self contain extendable event queue to allow synchronization of events (messages) in a thread-safe concurrent queue

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages