On Wed, Dec 7, 2011 at 10:40 PM, junix <[email protected]> wrote: > Quoting mat henshall <[email protected]>: > > You may want to look at the QP statemachine framework ( >> www.state-machine.com) >> for a reasonable very light weight framework that can be used with NO_SYS >> - >> the author has an example using lwIP. >> > Thank you for the hint. Although I already built my own FSM framework some > time ago, based on Martin Gomez' approach ( http://isa.uniovi.es/docencia/ > **redes/**EmbeddedSatateMachinesImplemen**tation.pdf<http://isa.uniovi.es/docencia/redes/EmbeddedSatateMachinesImplementation.pdf>), > it's always interesting to see what else exists. >
Thanks for the link I had not seen this before. But I think you missed my point a little bit: the goal is not to replace > any state machine processing. In fact I think you will still be forced to > do your socket stuff in a state machine. The goal would be more to remove > the need of implementing the whole accept and worker management by a > frameworking letting the developer focus on his very problem (implementing > the protocol for a socket endpoint using a stable API). As mentioned > before, the idea is inspired by the strategy pattern where the strategy is > the "protocoldriver" on top of a server framework. > > I actually have my own FSM framework as well for various reasons, but I liked Qp's approach to 'active objects' and a very nice event queue coupled with nested statemachines. The feature I was actually thinking about in the QP framework is rather than using worker 'threads', the use of 'active objects' that can receive events and always event handling always 'runs to completion' (RTC). It can be very useful and the framework overhead in terms of code is very small and ofcourse, the RTC semantics mean the advantage of not needing synchronization and other multi-threading constructs between the active objects. It is fairly easy ofcourse to create a simple event queuing mechanism, but I think these guys implementation is worth studying (he has a book that talks about various tradeoffs and design considerations), even if you choose not to use his code . He has thought deeply about this whole area... > > ______________________________**_________________ > lwip-users mailing list > [email protected] > https://lists.nongnu.org/**mailman/listinfo/lwip-users<https://lists.nongnu.org/mailman/listinfo/lwip-users> > -- Mat Henshall Founder and CEO, Square Connect, Inc. San Jose, CA www.squareconnect.com cell: 650.814.7585
_______________________________________________ lwip-users mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/lwip-users
