Effo Design - Lock-free Queue and Ring Buffer
As you know that one important character of Open Source is reuse. When you reuse something,
troubles come too in some cases. For example, if reuse copyleft source (i.e., GPLed) in the
development of a software, then you’d make the source of the whole software open. This
sometimes prevents developers from reusing excellent free software and Open Source software.
4.2 Divide and Rule
At the beginning of the Effo Project, we made a mistake that there’re 2 project sites; the main site is
on Google Code, http://effo.googlecode.com, and a backup is on SourceForge,
http://effo.sourceforge.net.
So the project need to maintain two SVNs which controls the same source code, and this causes
many problems. You can image that.
Because of the concerns of copyright and license, and the above problem, the Effo Project was then
divided into some projects, that are, Effo Member Projects. The original Effo sites (Effo@GoogleCode
and Effo@SourceForge) were made as the portals of the Effo Project now.
Especially the http://effo.sourceforge.net became the Effo Home page.
Now, Effo@GoogleCode and Effo@SourceForge will not update Effo source code anymore. All source
code was relocated to the Effo member projects listed as below:
1.
Effo Core
Effo Core
, http://effocore.googlecode.com, the Core of Effo, MIT license
, http://effocore.googlecode.com, the Core of Effo, MIT license
2.
Effo Addon
Effo Addon
, http://effoaddon.googlecode.com, Add-ons for Effo, MIT license
, http://effoaddon.googlecode.com, Add-ons for Effo, MIT license
3.
Effo NetMsg
Effo NetMsg
, http://effonetmsg.googlecode.com, Network & Messaging, MIT license
, http://effonetmsg.googlecode.com, Network & Messaging, MIT license
4.
Effo Devel
Effo Devel
, http://effodevel.googlecode.com, the Effo Framework, or Effo Development
, http://effodevel.googlecode.com, the Effo Framework, or Effo Development
Platform, MIT license
Platform, MIT license
5.
Effo GPLed
Effo GPLed
, http://effogpled.googlecode.com, GPL licensed add-ons and applications like
, http://effogpled.googlecode.com, GPL licensed add-ons and applications like
memory test, drivers etc.
memory test, drivers etc.
One reason that we are doing so:
All developers could use Effo more freely, e.g. you could reuse most Effo source (MIT licensed) in any
place, including proprietary software or commercial software (so many developers will come across such a
situation like "want to reuse Open Source software but my boss doesn't like to deliver the source code to
the customer so I cannot use GPLed code"). Thus also make your software development safe too.
Of course Effo always encourages that all software source should be open to make life easy. Once
Open Source developers fell free, the end users would have much more high quality free software
and Open Source software.
But some developers maybe want to write GPLed code only; s/he also could just go to the Effo
GPLed project to do the job.
5. Base LIFO
You may use fixed-size array based queue, or linked list based queue. Here discuss linked list based
first.
7
Copyright © 2008,2009 The Effo Core project. All rights reserved.