Boost logo

Boost Users :

Subject: Re: [Boost-users] [multi state machine/ MSM] execute_queued_events
From: christophe.j.henry_at_[hidden]
Date: 2015-01-26 14:53:00


Hi,

>I've looked on GitHub and can't seem to find the version of MSM you refer
>to below.
>Can you send me a link (I think you did this once, but I can't seem to find
>it now).

For example https://github.com/boostorg/msm/tree/msm3, or if you want to see
code: https://github.com/boostorg/msm/blob/msm3/test/Lockfree1.cpp
It's still in construction, I'm suffering from an acute lack of time :(

>As to your question on my application:
>
>I'm considering several possibilities:
>1) One or more threads enqueueing events and a separate thread running the
>state machine processing them.

This can be done with:
- a lock before enqueueing, and a lock before executing le queued events.
- the msm3 branch above (lockfree msm), I'm working on exactly this and hope
to support this very soon.
- my upcoming asynchronous library ;-)

>2) Multiple cooperating state machines that may send events to each other.

This is what I want to achieve with the lockfree msm. It works so far if you
only have simple fsm (no submachine, no queue , though I will speed this up
if you need it).

HTH,
Christophe


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net